作为开发者,我们每天都在和Docker打交道,但很多人只停留在了docker run
、docker ps
这些基础命令上。其实Docker CLI有许多强大的高级用法,掌握后能让你的工作效率大幅提升。感兴趣的同学可以Mark一下。
1. 格式化输出 - 精确获取你需要的信息
不要再从一大堆输出中肉眼查找信息了,使用--format
可以精确提取你需要的数据:
# 只获取所有容器的ID和名称
docker ps --format "{{.ID}}: {{.Names}}"
# 以表格形式展示镜像信息
docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Size}}"
# 提取容器IP地址
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name
支持Go模板语法,可以构建任意格式的输出,轻松集成到脚本中。
2. 过滤器 - 快速定位目标对象
面对几十上百个容器或镜像,如何快速找到你要的那个?使用--filter
:
# 查找所有退出的容器
docker ps -a --filter "status=exited"
# 查找特定标签的镜像
docker images --filter "label=environment=production"
# 查找悬空镜像(没有标签的镜像)
docker images --filter "dangling=true"
# 组合多个过滤条件
docker ps --filter "status=running" --filter "name=web"
支持多种过滤条件组合,比手动grep更高效准确。
3. 批量操作 - 一次处理多个对象
不要再一个个手动操作了,这些命令可以帮你批量处理:
# 停止所有运行中的容器
docker stop $(docker ps -q)
# 删除所有已停止的容器
docker container prune
# 删除所有未使用的镜像
docker image prune -a
# 一键清理所有未使用的对象(包括网络、数据卷等)
docker system prune -a
系统维护和清理变得轻松高效,一行命令搞定。
4. 上下文管理 - 无缝切换多环境
需要同时管理多个Docker环境?使用上下文功能:
# 创建新的上下文连接到远程Docker主机
docker context create remote-server --docker "host=ssh://user@remote-server"
# 列出所有上下文
docker context ls
# 切换上下文
docker context use remote-server
# 在特定上下文中执行命令
docker --context=remote-server ps
本地开发、测试环境、生产环境无缝切换,不需要修改环境变量。
5. 实时日志跟踪 - 监控容器状态
调试容器问题?使用这些日志技巧:
# 实时跟踪容器日志,显示时间戳
docker logs -f --timestamps container_name
# 只查看最近30分钟的日志
docker logs --since 30m container_name
# 只显示最后10行日志
docker logs --tail 10 container_name
# 组合使用
docker logs -f --since 5m --tail 20 container_name
精确定位问题发生时间,快速排查故障原因。
6. 容器统计信息 - 实时监控资源使用
想知道哪个容器吃掉了你的资源?使用stats命令:
# 查看所有容器资源使用情况
docker stats
# 只监控特定容器
docker stats container1 container2
# 以不同单位显示内存使用
docker stats --format "{{.Name}}: {{.MemUsage}}"
# 一次性输出当前状态
docker stats --no-stream
实时掌握CPU、内存、网络IO使用情况,及时发现性能瓶颈。
7. 镜像历史 - 分析镜像构成
想知道一个镜像是如何构建的?查看其历史:
# 查看镜像构建历史
docker history image_name
# 显示完整命令(不截断)
docker history --no-trunc image_name
# 以人类友好格式显示大小
docker history --human image_name
了解每一层的大小和构建命令,找出膨胀原因。
8. 事件流 - 实时监控Docker活动
想知道Docker后台发生了什么?监听事件流:
# 实时查看所有Docker事件
docker events
# 按事件类型过滤
docker events --filter 'type=container'
# 按事件动作过滤
docker events --filter 'event=start'
# 指定时间范围
docker events --since '2023-01-01' --until '2023-01-02'
实时监控容器启停、镜像构建等活动,适合调试和审计。
9. 磁盘使用情况 - 找出空间占用
Docker占用太多磁盘空间?使用这个命令找出原因:
# 查看Docker磁盘使用详情
docker system df
# 查看详细信息,包括每个镜像和容器
docker system df -v
精确了解镜像、容器、数据卷占用情况,有针对性地清理。
10. 实验性功能 - 抢先体验新特性
想尝试最新功能?启用实验性特性:
# 查看当前可用的实验性功能
docker version -f '{{.Server.Experimental}}'
# 在配置中启用实验性功能
echo '{"experimental": true}' | sudo tee /etc/docker/daemon.json
sudo systemctl restart docker
抢先体验最新特性,提前适配未来变化。

优网科技秉承"专业团队、品质服务" 的经营理念,诚信务实的服务了近万家客户,成为众多世界500强、集团和上市公司的长期合作伙伴!
优网科技成立于2001年,擅长网站建设、网站与各类业务系统深度整合,致力于提供完善的企业互联网解决方案。优网科技提供PC端网站建设(品牌展示型、官方门户型、营销商务型、电子商务型、信息门户型、DIY体验、720全景展厅及3D虚拟仿真)、移动端应用(手机站、APP开发)、微信定制开发(微信官网、微信商城、企业微信)、微信小程序定制开发等一系列互联网应用服务。