紀錄 Docker Container 常用指令

查詢運作中的Container

docker ps https://docs.docker.com/engine/reference/commandline/ps/

# 列出container資訊 (運作中)
docker ps

# 列出container資訊 (所有狀態)
docker ps -a

# 列出最後三個建立的container資訊 (所有狀態)
docker ps -n 3

# 列出最後一個建立的container資訊 (所有狀態)
docker ps -l

# 列出最後一個建立的container Id (所有狀態)
docker ps -lq

操作運作中的Container

docker start 啟動container https://docs.docker.com/engine/reference/commandline/start/
docker restart 重啟container https://docs.docker.com/engine/reference/commandline/restart/
docker stop 停止container https://docs.docker.com/engine/reference/commandline/stop/
docker kill 強制停止container https://docs.docker.com/engine/reference/commandline/kill/
docker rm 刪除container https://docs.docker.com/engine/reference/commandline/rm/

# 啟動container (container name or container Id)
docker start myrabbitmq

# 重啟container
docker restart myrabbitmq

# 停止container
docker stop myrabbitmq

# 強制停止container
docker kill myrabbitmq

# 刪除container (只能刪除停止狀態)
docker rm mytabbitmq

# 刪除container (可以刪除所有狀態)
docker rm -f mytabbitmq

# 刪除所有container 
docker rm -f $(docker ps -aq)
docker ps -ap | xargs docker rm

查看Container log

docker log https://docs.docker.com/engine/reference/commandline/logs/

# 查看container log (container name or container Id)
docker logs myrabbitmq

# 查看container log (加上時間)
docker logs -t myrabbitmq

# 查看container log (持續追蹤,若容器內有新log會持續顯示)
docker logs -f myrabbitmq

# 查看container log (顯示最後三筆)
docker logs -tail 3 myrabbitmq

查看Container運行程序

docker top https://docs.docker.com/engine/reference/commandline/top/

docker top myrabbitmq

查看Container內部細節

docker inspect https://docs.docker.com/engine/reference/commandline/inspect/

docker inspect myrabbitmq

進入運行中Container

docker attach https://docs.docker.com/engine/reference/commandline/attach/
若進入後 輸入exit 會中斷程序

docker attach myrabbitmq

進入運行中Container執行操作

docker exec https://docs.docker.com/engine/reference/commandline/exec/
類似於SSH遠端container裡,輸入exit 可正常離開 不會導致程序中斷 (與attach不同)

# 讓運行中container 執行 ls-l /tmp
docker exec -it myrabbitmq ls-l /tmp

# 以bash模式進入container進行操作
# 功能與 docker attach mytabbitmq 一樣
docker exec -it myrabbitmq bin/bash

複製Container中的檔案至實體本機

docker cp https://docs.docker.com/engine/reference/commandline/cp/

# 複製容器中/tmp目錄底下的yum.log檔案 至 實體本機的/root目錄底下
docker cp myrabbitmq:/tmp/yum.log /root

以當前運行的Container建立出其image

docker commit https://docs.docker.com/engine/reference/commandline/commit/

# 以myrabbit這個現有運行中container
# 建立出 author = leo, 
#      message = new rabbitmq, 
#      repository = leo:mynewrabbitmq,
#      tag = 1.1 的新image
docker commit -a = 'leo' -m = 'new rabbitmq' myrabbitmq leo/mynewrabbitmq:1.1

轉載請註明來源,若有任何錯誤或表達不清楚的地方,歡迎在下方評論區留言,也可以來信至 leozheng0621@gmail.com
如果文章對您有幫助,歡迎斗內(donate),請我喝杯咖啡

斗內💰

×

歡迎斗內

github