詳細說明請讀者去找書來看囉。
這邊就放些使用指令與簡略說明,說明可能會有誤,請各位斟酌參考。
書本為:
Docker專業養成(2017年11月)
ISBN:978-986-434-264-8
新北市:博碩文化
指令中使用<>包起來代表自行輸入。
例如:<自行書入>:
容器有兩種運行狀態:
前台互動式:執行於前台,並且直接連接到運行的程式上。
後台守護式:執行於後台,執行時部會佔用目前輸入指令的終端機。
也不會連接到容器內的應用程式。處於這種狀態的容器,必須透過指令來關閉。
建立容器:
sudo docker create <映像檔名>:<版本>
輸入後會給予一串容器ID,為64位元十六進位字串。
(每個容器ID獨一無二)
或使用run可建立並執行容器
sudo docker run <映像檔名>:<版本>
若想在執行時與容器互動可以加上
-t(可為容器分配一個偽終端機)
-i(可開啟互動模式,會一直保持輸入串流)
sudo docker run -t -i <映像檔名>:<版本>
後台運行-d與命名容器–name:
sudo docker run -d –name <自訂容器名稱> <映像檔名>:<版本>
查詢容器:
sudo docker ps
查看運行中的容器
會顯示容器ID、映像檔名稱、啟用映像檔時應用程式的指令、建立容器時間、容器執行狀態和更新狀態的時間、容器對外連接埠、容器名稱
如果要列出所有請加上-a 或 –all
列出最後建立的容器請加上 -l
列出最近建立的容器請加上 -n <數量>
過濾查詢 請加上 -f “<關鍵字ID或lable等表格名稱>=<關鍵字>”
查看查看容器執行序:
sudo docker top <容器名稱>
可查看當前容器執行序
查詢容器詳細資訊:
sudo docker inspect <容器名稱>
可查看容器環境變數、執行命令、網路配置等完整資訊
sudo docker inspect -f “{{.State.Runnung}}” <容器名稱>
可查看容器詳細資訊特定資訊(試範為:{{.State.Runnung}}容器狀態)
查詢容器日誌:
範例為建立一個不段輸出結果的容器:
sudo docker run -d –name logs_demo ubuntu /bin/bash -c ‘for((i=0;1;i++));do echo “time $i”;sleep 1;done;’
查詢容器輸出內容:
sudo docker logs <容器名稱>
加上-f可持續顯示結果
sudo docker logs -f <容器名稱>
加上–tail與–since可限制輸出的內容,顯示前幾行或返回指定時間戳記
sudo docker logs -f –since 2016-08-07T05:56:38.192382641Z <容器名稱>
(2016-08-07T05:56:38.192382641Z 時間戳記)
啟動與停止:
啟動:
sudo docker start <容器名稱或ID>
會返回使用容器名稱或容器ID
加上-i可以將終端機連接到容器中主應用程式的標準輸入
加上-a可將容器中程式的標準輸入及錯誤輸出結果顯示到終端機上
停止:
sudo docker stop <容器名稱>
預設十秒後停止
sudo docker stop -t 3 <容器名稱>
加上-t可自行設定停止時間
sudo docker kill <容器名稱>
使用kill可強制停止容器
啟動與停止皆可同時操作多個容器
sudo docker start <容器名稱> <容器名稱2> <容器名稱3>
暫停和恢復:如同電腦休眠與喚醒。
sudo docker pause <容器名稱>
暫停
sudo docker unpause <容器名稱>
恢復
(暫停與恢復皆可同時操作多個容器)
sudo docker start <容器名稱> <容器名稱2> <容器名稱3>
重起容器:
sudo docker restart <容器名稱>
停止容器並再次開啟
刪除容器:
sudo docker rm <容器名稱>
刪除處於停止狀態的容器(正在執行中的容器無法被刪除)
sudo docker rm -f <容器名稱>
刪除正在運行的容器
附加到容器,在容器中執行命令:
sudo docker attach <容器名稱>
可進入容器,並使用指令操作。
sudo docker exec <容器名稱> ps
可在容器內執行全新指令,並開啟新的處理程序(以ps為例)
修改容器:
docker rename <原容器名稱> <新容器名稱>
可修改容器名稱
匯入匯出容器:
容器檔案移動與寫入:
sudo docker cp -a /home/brad myTomcat:/usr/local/tomcat
可將容器中的檔案複製到電腦
sudo docker cp -a <容器名稱>:<容器資料夾位置> <電腦資料夾>
可將電腦中的檔案複製到容器
sudo docker cp -a <電腦資料夾> <容器名稱>:<容器資料夾位置>
-a為遞迴