(四)Docker 容器
阿新 • • 發佈:2018-05-14
p地址 ted names 主機配置 pre 裏的 需要 nta sym
幾乎感覺不出任何區別。只不過,這裏的輸入是由通過 ubuntu 容器執行。
簡單的說,容器是獨立運行的一個或一組應用,以及它們的運行態環境。 如果把鏡像看成面向對象中的 類 的話,那麽容器就是 類 的實例化 對象。
容器
啟動容器
啟動容器有兩種方式,一種是基於鏡像新建一個容器並啟動, 另外一個是將在終止狀態(stopped)的容器重新啟動。
通過docker run
命令來啟動容器。
查看運行幫助:
$ sudo docker run --help
下面的命令輸出一個 “Hello World”,之後終止容器。
$ sudo docker run ubuntu /bin/echo "hello world"
hello world
這跟在本地直接執行 /bin/echo ‘hello world‘
下面進入到ubuntu容器中。
$ sudo docker run -t -i ubuntu /bin/bash
root@543a324ea841:/#
-
-t 選項讓Docker分配一個偽終端(pseudo-tty)並綁定到容器的標準輸入上。
-
-i 則讓容器的標準輸入保持打開。
此時,你已經在ubuntu容器中了。這是一個獨立的ubuntu 系統。通過 root@543a324ea841 標識可以看出。
當利用docker run
來創建容器時,Docker在後臺運行的標準操作包括:
- 檢查本地是否存在指定的鏡像,不存在就從公有倉庫下載
- 利用鏡像創建並啟動一個容器
- 分配一個文件系統,並在只讀的鏡像層外面掛載一層可讀寫層
- 從宿主主機配置的網橋接口中橋接一個虛擬接口到容器中去
- 從地址池配置一個IP地址給容器
- 執行用戶指定的應用程序
- 執行完畢後容器被終止
退出容器,可以使用exit命令。
root@543a324ea841:/# exit
exit
fnngj@ubuntu:~$
守護狀態運行
更多的時候,需要讓 Docker容器在後臺以守護態(Daemonized)形式運行。
$ sudo docker run -d ubuntu /bin/echo "hello docker"
839fee657bfe893b9b2c76aebbb2b620efefc091a04fd90b1c5eda82b9e36730
- -d 表示容器以守護態(Daemonized)形式運行。
查看容器
通過 docker ps
命令查看當前運行的所有容器。
$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
839fee657bfe ubuntu "/bin/echo ‘hello do…" About a minute ago Exited (0) About a minute ago musing_golick
543a324ea841 ubuntu "/bin/bash" 6 minutes ago Exited (0) About a minute ago relaxed_shannon
578639b30db9 ubuntu "/bin/bash" 7 minutes ago Exited (0) 7 minutes ago sad_ritchie
9797d4bcb1f6 ubuntu "/bin/echo ‘hello wo…" 9 minutes ago Exited (0) 9 minutes ago cranky_keller
4d2cd63632c7 hello-world "/hello" 20 minutes ago Exited (0) 20 minutes ago keen_stallman
獲取容器的輸出信息
通過docker logs
命令。
$ sudo docker logs musing_golick
hello docker
$ sudo docker logs 839fee657bfe
hello docker
musing_golick
為容器的 NAMES , 839fee657bfe
為容器的ID。通過 docker ps -a
命令查看。
停止容器
可以使用docker stop
來終止一個運行中的容器。
$ sudo docker stop 0fc49a885fc2
重動容器
可以使用docker start
重動容器。
$ sudo docker start 0fc49a885fc2
刪除容器
通過 docker rm
刪除指定的容器。
sudo docker rm 0fc49a885fc2
0fc49a885fc2 為容器有 ID 。
(四)Docker 容器