Docker查看运行容器
Docker查看运行容器
引言
部署多个服务后,先要看清哪些容器在跑、状态如何、映射了哪些端口、跑了多久。docker ps系列命令是日常运维入口,配合格式化和过滤快速定位目标容器。
只看运行中容器
docker ps
输出容器ID、镜像、命令、创建时间、状态、端口映射、名称,默认只列正在运行的。
查看全部容器(含已停止)
docker ps -a
把Exited状态的容器也列出来,排查退出残留时用。
只看容器ID
docker ps -q
输出纯ID,配合批量停止删除。
自定义输出列
docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Image}}\t{{.Status}}\t{{.Ports}}"
只保留关心的列,脚本采集更清晰。
按镜像过滤
docker ps --filter ancestor=nginx:latest
列出指定镜像启动的容器。
查看容器资源占用
docker stats
实时看每个容器CPU、内存、网络IO,Ctrl+C退出。
注意事项
- ps默认不含已停止容器,找退出容器用-a;
- STATUS显示Up时长或Exited码,退出码非0要查日志;
- PORTS列看清宿主端口到容器端口的映射;
- 容器名重复会冲突,--name要唯一;
- 配合docker inspect看单个容器完整配置;
- 批量操作前先用-q列出ID确认范围。
总结
docker ps看运行中容器,-a含已停止,-q取ID批量处理,--format自定义列,--filter按镜像过滤,docker stats看实时资源。运维先列清单确认状态和端口,再决定停止、重启或排查,避免凭印象操作容器。
Docker查看本地镜像
Docker查看本地镜像
引言
用Docker跑服务前先确认本地有哪些镜像、大小多少、标签是什么,避免重复拉取或用错版本。docker images系列命令能列出镜像仓库名、标签、ID、大小和创建时间。
列出全部本地镜像
docker images
# 等价
docker image ls
输出REPOSITORY、TAG、IMAGE ID、CREATED、SIZE五列。
只看镜像ID
docker images -q
只输出短ID,配合批量删除使用。
按名称过滤
docker images nginx
docker images | grep php
列出指定仓库名或关键词的镜像。
查看镜像详细信息
docker inspect nginx:latest
JSON输出架构、环境变量、挂载点、默认启动命令等。
查看镜像历史层
docker history nginx:latest
看每层做了什么改动、每层大小,理解镜像分层结构。
过滤和格式化
docker images --format "{{.Repository}}:{{.Tag}} {{.Size}}"
自定义输出列,脚本里取数更方便。
注意事项
- 同一个镜像不同TAG可能共用层,SIZE不重复累加;
- 悬空镜像
是旧版本残留,用prune清理; - 镜像大小是解压后占用,下载压缩包更小;
- 看磁盘占用用docker system df;
- 未被任何容器引用的镜像可安全删除;
- 拉取前先docker images判断是否已存在。
总结
docker images列出本地镜像,-q取ID、按仓库名过滤、inspect看详情、history看分层、--format自定义输出。日常先列镜像确认版本和大小,再决定拉取或删除,配合system df掌握磁盘占用。