文章目錄
- 🐳 Docker 入門教程(四):容器命令
- 創建并運行容器:`docker run`
- 查看容器列表:`docker ps`
- 停止、啟動、重啟容器
- 刪除容器:`docker rm`
- 進入容器:`exec` 和 `attach`
- 查看容器日志:`docker logs`
- 查看容器詳情:`docker inspect`
- 容器資源占用情況:`docker stats`
- 清理所有已退出的容器
- 常用容器命令速查表
🐳 Docker 入門教程(四):容器命令
容器是鏡像的運行實例,使用 Docker 的核心就在于對容器的管理。本節內容將覆蓋容器從啟動到銷毀的全流程操作。
創建并運行容器:docker run
最常用的命令是 docker run
,它會創建一個容器并運行它。
docker run ubuntu
但這不會進入容器,容器可能立刻退出。通常使用交互模式運行:
docker run -it ubuntu bash
參數說明:
-i
:交互模式(保持標準輸入打開)-t
:分配一個偽終端(terminal)ubuntu
:使用的鏡像bash
:容器啟動后執行的命令
后臺運行容器:
docker run -d nginx
帶端口映射(主機:容器):
docker run -d -p 8080:80 nginx
指定容器名稱:
docker run -d --name web nginx
掛載目錄(本地文件同步進容器):
docker run -v $(pwd):/app -it ubuntu bash
查看容器列表:docker ps
查看運行中的容器:
docker ps
查看所有容器(包括已退出的):
docker ps -a
顯示容器 ID 列表:
docker ps -q
停止、啟動、重啟容器
停止正在運行的容器:
docker stop 容器ID
重新啟動已停止的容器:
docker start 容器ID
重啟容器(即使它還在運行):
docker restart 容器ID
刪除容器:docker rm
刪除一個或多個容器:
docker rm 容器ID
docker rm 容器ID1 容器ID2
強制刪除正在運行的容器:
docker rm -f 容器ID
配合 docker ps -a
和 -q
批量刪除:
docker rm $(docker ps -aq)
進入容器:exec
和 attach
推薦方式是 exec
,可以在不干擾主進程的情況下進入:
docker exec -it 容器ID bash
如果容器沒有 bash,可以用 sh:
docker exec -it 容器ID sh
另一種方式是 attach
,它直接附著到主進程(不推薦,用錯可能卡住容器):
docker attach 容器ID
查看容器日志:docker logs
查看容器輸出的標準輸出/錯誤:
docker logs 容器ID
查看最新日志(類似 tail):
docker logs -f 容器ID
限制輸出最近幾行:
docker logs --tail 50 容器ID
查看容器詳情:docker inspect
docker inspect 容器ID
這會輸出一個完整的 JSON,包含網絡配置、掛載卷、鏡像來源、運行命令等信息。
快速查看容器 IP:
docker inspect -f '{{ .NetworkSettings.IPAddress }}' 容器ID
容器資源占用情況:docker stats
實時查看容器的 CPU、內存等資源使用情況:
docker stats
清理所有已退出的容器
docker container prune
常用容器命令速查表
操作 | 命令 |
---|---|
創建并運行容器 | docker run -it 鏡像名 bash |
后臺運行并映射端口 | docker run -d -p 8080:80 鏡像名 |
查看容器 | docker ps / docker ps -a |
停止 / 啟動 / 重啟 | docker stop/start/restart 容器ID |
刪除容器 | docker rm 容器ID |
進入容器 | docker exec -it 容器ID bash |
查看日志 | docker logs -f 容器ID |
查看資源使用 | docker stats |
清理已退出容器 | docker container prune |