docker優點:docker容器,一次構建,到處執行。構建之後,在任何支援docker的地方都能把它run起來。
虛擬機器:作業系統完全隔離。虛擬機器之下還有虛擬機器管理程式。
docker:沒有虛擬機器作業系統這層。主要是基於linux核心對容器的實現。
1、yum install docker-io後docker安裝到**了:
/usr/bin/docker
/usr/bin/docker-containerd
/usr/bin/docker-containerd-ctr
/usr/bin/docker-containerd-shim
/usr/bin/docker-runc
2、docker pull 下來的映象檔案存放的位置:/var/lib/docker
3、容器位置:/var/lib/docker/containers/
4、docker 進入容器
使用nsenter工具:他是乙個可以訪問另外乙個程序名字空間的乙個命令,訪問另外乙個容器的namespace.
1)、啟動容器:[root@tcy1 tcy]# docker start ef3e81c343c1
2)、獲取容器pid:
$ docker inspect -f } 容器名或者容器id
3)、進入該容器
nsenter --target 上面查到的程序id --mount --uts --ipc --net --pid
[root@tcy1 tcy]# docker ps -a //列舉所有容器
container id image command created status ports names
497d2ac4d4c3 elasticsearch "/docker-entrypoint. 2 days ago exited (0) about an hour ago 0.0.0.0:9200->9200/tcp, 9300/tcp trusting_pare
ef3e81c343c1 nginx "nginx -g 'daemon of 12 days ago exited (0) 12 days ago 0.0.0.0:80->80/tcp gloomy_babbage
a3fca27221d7 alpine "sh" 12 days ago exited (0) 12 days ago cranky_brattain
[root@tcy1 tcy]# docker inspect --format "}" gloomy_babbage
0[root@tcy1 tcy]# docker start ef3e81c343c1
ef3e81c343c1
[root@tcy1 tcy]# docker inspect --format "}" gloomy_babbage
4308
[root@tcy1 tcy]# nsenter --target 4308 --mount --uts --ipc --net --pid
mesg: ttyname failed: no such file or directory
root@ef3e81c343c1:/#
寫個指令碼,快速進入:
[root@tcy1 tcy]# cat in.sh
#!/bin/bash
cname=$1
cpid=$(docker inspect --format "}" $cname)
nsenter --target "$cpid" --mount --uts --ipc --net --pid
進入:
[root@tcy1 tcy]# ./in.sh gloomy_babbage
5、退出容器:
exit(不會讓容器關閉)
6、docker create + docker start = docker run
docker run:建立+啟動容器,例如下面:以nginx為映象,建立啟動乙個新的容器
[root@tcy1 tcy]# docker run -d -p 80:80 nginx
-d:不退出,在後台一直執行。
-p 80:80 埠重定向,把容器中的80埠對映到物理機器上的80埠。
7、docker pull:pull的時候是一層一層layer,pull的。
8、docker容器 只執行指定的乙個應用程式,當應用程式退出,docker容器也就退出了。
如果想在後台執行使用-d,例如: docker run -d --name container1 nginx
容器關閉後再想啟動,先檢視容器名字:
docker ps -a | grep nginx
再 docker start 容器名,啟動容器。
Docker基礎教程
什麼是docker docker 是世界領先的軟體容器平台。開發人員利用 docker 可以消除協作編碼時 在我的機器上可正常工作 的問題。運維人員利用 docker 可以在隔離容器中並行執行和管理應用,獲得更好的計算密度。企業利用 docker 可以構建敏捷的軟體交付管道,以更快的速度 更高的安全...
Docker基礎教程 容器
容器是docker的另乙個核心概念。一般來說,映象的乙個執行例項就是容器,容器提供了乙個可寫的檔案層。docker的容器非常輕量級,建立和刪除都很容易。新建容器使用docker create命令 plain view plain copy docker create it ubuntu latest...
Docker基礎教程 網路基礎配置
啟動容器時,如果不知道對應引數,在容器外部是無法通過網路訪問容器內部的。可以通過 p或 p引數指定埠對映。使用 p時,docker會隨機對映乙個49000 49900的埠到容器內部開放的埠。p會對映到指定的埠,支援的格式 主機埠 容器埠 主機埠 容器埠 格式將本地埠對映到容器埠的命令如下 plain...