在 Docker 中快速查看本地镜像和容器,可以使用以下高效命令:
一、查看本地镜像
1. 基础命令(简洁视图)
docker images
输出示例:
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest ae2feff98a0c 2 weeks ago 133MB
redis 6.2 a617c1c2c1b0 3 months ago 104MB
2. 高级查看选项
-
按特定格式显示:
docker images --format "{{.ID}}: {{.Repository}} ({{.Tag}})"
输出:
ae2feff98a0c: nginx (latest)
-
显示悬空镜像(未被任何容器引用的中间层镜像):
docker images -f "dangling=true"
-
按时间排序(最近创建的在前):
docker images --format "table {{.ID}}\t{{.Repository}}\t{{.CreatedSince}}" | sort -k3 -r
-
显示镜像磁盘占用:
docker system df
二、查看本地容器
1. 基础命令
docker ps -a # -a 显示所有容器(包括已停止的)
输出示例:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a1b2c3d4e5f6 nginx "nginx -g ..." 2 hours ago Up 2 hours 80/tcp webserver
f0e9d8c7b6a5 redis "redis-server" 3 days ago Exited (0) redis-test
2. 高级查看选项
-
只显示运行中的容器:
docker ps
-
自定义列显示:
docker ps -a --format "table {{.ID}}\t{{.Names}}\t{{.Status}}\t{{.Image}}"
-
按状态过滤:
docker ps -a -f "status=exited" # 显示已停止的容器 docker ps -f "status=running" # 显示运行中的容器
-
显示容器大小:
docker ps -a --size
输出会增加
SIZE
列(容器+可写层大小)
三、组合查看技巧
1. 同时查看镜像和容器(使用 watch 实时刷新)
watch -n 1 "echo 'IMAGES:'; docker images; echo '\nCONTAINERS:'; docker ps -a"
2. 快速概览仪表板
docker stats # 实时监控容器资源使用
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O
a1b2c3d4e5f6 webserver 0.12% 5.32MiB / 1.94GiB 0.26% 1.45kB/0B 0B/0B
3. 使用工具增强查看
安装 ctop(容器监控工具):
docker run --rm -ti \--name=ctop \--volume /var/run/docker.sock:/var/run/docker.sock:ro \quay.io/vektorlab/ctop:latest
四、信息筛选速查表
需求 | 命令 |
---|---|
查看所有镜像 | docker images 或 docker image ls |
查看所有容器 | docker ps -a 或 docker container ls -a |
仅显示镜像ID | docker images -q |
仅显示容器ID | docker ps -aq |
按名称过滤 | docker ps -a --filter "name=web" |
按标签过滤镜像 | docker images --filter "reference=*:latest" |
查看容器日志 | docker logs <容器名> |
查看镜像历史 | docker history <镜像名> |
五、常用快捷别名(添加到 ~/.bashrc)
# 镜像查看
alias dim='docker images'
alias dimq='docker images -q'# 容器查看
alias dps='docker ps'
alias dpa='docker ps -a'
alias dpaq='docker ps -aq'# 高级查看
alias dcstats='docker stats --format "table {{.Container}}\t{{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}"'
💡 提示:使用
--no-trunc
参数查看完整信息(如完整ID):docker ps -a --no-trunc docker images --no-trunc