Container指令基礎
Docker有關Container的指令是最多樣的,而光一個docker run
就有非常非多的參數。我們在這邊先將最基本的Container指令列出,讓讀者們能先能感受一下Docker的強大。
這邊列出Docker有關Container指令的分類方便讀者查詢,粗體表示常用指令,會有講解說明。
Container和映像檔之間的操作
- commit:將Container的改變存入映像檔
- export:將Container存成快照
- import:從Container快照恢復成映像檔
Container執行時的操作
- create:建立Container並執行指令
- run:同create
- kill:刪除執行中的Container,但Container還是存在,只是死了。
- rm:刪除Container(停止或運行中都行),Container就從這世上消失了
- pause:暫停執行中的Container,仍暫有記憶體停,服務不中斷
- unpause:恢復暫停中的Container
- stop:停止執行中的Container,但不暫有記憶體,服務中斷
- start:啟動停止中的Container
- restart:重新啟動Container
- wait:讓Container暫停直到Container停止為止
- rename:更名Container
Container的狀態
- inspect:檢查Container的狀態(非常常用)
- stats:查看Container的CPU、記憶體及網路使用
- port:查看Container的通訊埠使用
- ps:查看Container使用狀態
- top:查看Container在主系統中的記憶體使用
- dip:查看Container的IP
- dpid:查看Container的pid
Container執行時的操作
- attach:連接Container的標準輸出輸入端
- exec:在外部向Container內執行指令
- denter:進入Container
- logs:將Container內的輸出顯示到螢幕上
Container和主系統之間的操作
- cp:複製Container內的檔案到主系統
- diff:列出兩個Container之間檔案系統差異
- events:列出某個時間點之前或之後的事件
和Linux的指令配合使用
Docker的執行常常和Linux的內部指令配合使用,如grep
、awk
、xargs
等,會在需要的時候提及。下面的例子就是列出所有Container的狀態(docker stats
預設只會列出指定Container的狀態)。
docker ps | awk 'NR>1 {print $NF}'| xargs docker stats
$ docker stats $(docker ps | awk 'NR>1 {print $NF}')
CONTAINER CPU % MEM USAGE/LIMIT MEM % NET I/O
web12 0.00% 8.742 MiB/128 MiB 6.83% 131.2 KiB/150.8 KiB
web14 0.01% 38.43 MiB/128 MiB 30.02% 181.6 KiB/211.9 KiB