1. 程式人生 > >Docker操作筆記(二)容器

Docker操作筆記(二)容器

容器

一、啟動容器

啟動一個容器有兩種方式:

1.基於映象新鍵並啟動一個容器:

所需要的主要命令為docker run

docker run ubuntu:18.04 /bin/echo "hello"
#啟動一個bash終端
docker run -t -i ubuntu:18.04 /bin/bash

其中,-t 選項讓Docker分配一個偽終端(pseudo-tty)並繫結到容器的標準輸入上, -i 則讓容器的標準輸入保持開啟。

當利用 docker run 來建立容器時,Docker 在後臺執行的標準操作包括:

  • 檢查本地是否存在指定的映象,不存在就從公有倉庫下載
  • 利用映象建立並啟動一個容器
  • 分配一個檔案系統,並在只讀的映象層外面掛載一層可讀寫層
  • 從宿主主機配置的網橋介面中橋接一個虛擬介面到容器中去
  • 從地址池配置一個 ip 地址給容器
  • 執行使用者指定的應用程式
  • 執行完畢後容器被終止

2.啟動一個已終止容器 

可以利用 docker container start 命令,直接將一個已經終止的容器啟動執行。

二、後臺執行容器

可以通過新增 -d 引數來實現。

docker run -d ubuntu:18.04 /bin/sh -c "while true; do echo hello world; sleep 1; done
"

此時容器會在後臺執行並不會把輸出的結果 (STDOUT) 列印到宿主機上面(輸出結果可以用 docker logs 檢視)。

使用 -d 引數啟動後會返回一個唯一的 id,也可以通過 docker container ls 命令來檢視容器資訊。

要獲取容器的輸出資訊,可以通過 docker container logs 命令。

三、終止容器

可以使用 docker container stop 來終止一個執行中的容器。

此外,當 Docker 容器中指定的應用終結時,容器也自動終止。

docker container stop 216501648b22

四、進入容器

1.attach 命令   

#進入終端
docker attach 243c

2.exec 命令  

 

docker exec 後邊可以跟多個引數,這裡主要說明 -i -t 引數。

 

只用 -i 引數時,由於沒有分配偽終端,介面沒有我們熟悉的 Linux 命令提示符,但命令執行結果仍然可以返回。

 

當 -i -t 引數一起使用時,則可以看到我們熟悉的 Linux 命令提示符。

 

如果從 stdin 中 exit,不會導致容器的停止。這就是為什麼推薦大家使用 docker exec 的原因。

docker exec -it d63242b36965 bash

五、匯入和匯出

1.匯出容器快照到本地

 

docker export 7691a814370e > ubuntu.tar

 

2.匯入容器快照 

可以使用 docker import 從容器快照檔案中再匯入為映象

 

cat ubuntu.tar | docker import - test/ubuntu:v1.0

 

七、刪除容器

可以使用 docker container rm 來刪除一個處於終止狀態的容器:

docker container rm 40ce498f9d3d

 

 

清理所有屬於終止狀態的容器:

docker container prune