在Ubuntu系統中,可以通過以下命令查看當前正在運行的Docker容器:
1. 查看所有正在運行的容器
docker ps
輸出示例:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a1b2c3d4e5f6 nginx:latest "nginx -g..." 2 hours ago Up 2 hours 80/tcp webserver
字段說明:
CONTAINER ID
:容器唯一標識(短ID)。IMAGE
:容器使用的鏡像。COMMAND
:容器啟動時執行的命令。STATUS
:運行狀態(Up
表示正在運行)。PORTS
:端口映射情況。NAMES
:容器名稱(可通過--name
指定)。
2. 查看所有容器(包括已停止的)
docker ps -a
3. 顯示容器的詳細信息(如IP地址、資源限制)
docker inspect <容器ID或名稱>
示例:
docker inspect webserver | grep IPAddress # 查看容器的IP地址
4. 查看容器的資源使用情況(CPU/內存/GPU)
docker stats
輸出實時監控:
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
a1b2c3d4e5f6 webserver 0.5% 50MiB / 2GiB 2.45% 1.2kB / 0B 0B / 0B 3
5. 查看容器的日志
docker logs <容器ID或名稱>
常用選項:
-f
:實時跟蹤日志(類似tail -f
)。--tail 100
:僅顯示最后100行。
6. 快速操作命令
功能 | 命令 |
---|---|
停止容器 | docker stop <容器ID或名稱> |
啟動已停止的容器 | docker start <容器ID或名稱> |
重啟容器 | docker restart <容器ID或名稱> |
刪除容器(需先停止) | docker rm <容器ID或名稱> |
進入容器交互式終端 | docker exec -it <容器ID或名稱> /bin/bash |
7. 結合GPU監控
如果容器使用了GPU,可通過以下命令檢查:
nvidia-smi # 查看GPU使用情況
docker inspect <容器ID> | grep -i nvidia # 確認容器是否掛載了GPU設備
常見問題
Q1: 如何查看容器的端口映射?
docker port <容器ID或名稱>
Q2: 如何批量停止所有運行中的容器?
docker stop $(docker ps -q)
Q3: 如何清理所有已停止的容器?
docker container prune
通過以上命令,您可以全面掌握Ubuntu系統中Docker容器的運行狀態和資源占用情況。