iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 5
0
DevOps

讓我們來玩玩Docker吧~系列 第 5

Day 5 關於 Container 的那些大小事

上次介紹 Image 各種操作指令後,今天換來介紹 Container 各種操作指令,那就開始吧。

執行 Docker Container

docker 的 run 指令以 Image 來建立 Container ,例如建立 Ubuntu 的 Container :

sudo docker run -itd --name ubuntu ubuntu:16.04 /bin/bash
  • -i , --interactive : 讓 Container 的標準輸入保持打開
  • -t , --tty : 讓Docker分配一個虛擬終端(pseudo-tty)並綁定到 Container 的標準輸入上
  • -d , --detach : 讓 Container 處於背景執行狀態並印出 Container ID
  • --name : 指定 Container 名稱
  • -p , --publish : 將 Container 發布到指定的port號

啟動 Docker Container

docker 的 start 指令可以啟動 Container ,例如啟動 Ubuntu 的 Container :

sudo docker start ubuntu

重啟 Docker Container

docker 的 restart 指令可以啟動 Container ,例如重啟 Ubuntu 的 Container :

sudo docker restart ubuntu

停止 Docker Container

docker 的 stop 指令可以停止 Container ,例如停止 Ubuntu 的 Container :

sudo docker stop ubuntu

進入 Docker Container

要進入 Docker Container 內部有很多種方法,下面為 exec 和 attach 的方法,例如進入 Ubuntu 的 Container :

sudo docker exec -it ubuntu bash

docker exec 指令可以開啟多個終端。當以 exec 進入 Container 輸入 exit 離開, Container 本身依然在背景執行,並不會被關閉。

sudo docker attach ubuntu

docker attach 指令為開啟一個正在運行的終端,使用上較不方便。當以 attach 進入 Container 輸入 exit 離開, Container 本身也隨之關閉。如果按下 Ctrl+P 加 Ctrl+Q 的方式離開, Container 會依然在背景狀態執行。

刪除 Docker Container

docker 的 rm 指令可以刪除 Container ,例如刪除 Ubuntu 的Container :

sudo docker rm ubuntu

要使用這指令刪除 Container 時,必須先停止 Container 。

docker 的 kill 指令可以刪除正在運行中的 Container ,例如刪除 Ubuntu 的 Container :

sudo docker kill ubuntu
  • 如果要一次將 Container 全部刪除可以用下列指令
sudo docker rm $(docker ps -a -q)

匯出 Container

要將 Container 打包匯出的話可以用 export 指令,例如要將 Ubuntu 的 Container 匯出 :

sudo docker export ubuntu > ubuntu.tar

匯入 Container

要將 Container 匯入的話可以用 import 指令,例如要將 Ubuntu 的 Container 匯入 :

cat ubuntu.tar | sudo docker import - ubuntu:16.04

到這裡,有關 Container 的常用指令都介紹完畢。


上一篇
Day 4 關於 Image 的那些大小事
下一篇
Day 6 關於 Save 與 Export 對 Image 之間的差異
系列文
讓我們來玩玩Docker吧~30

尚未有邦友留言

立即登入留言