Docker CLI 命令速查表 - Docker 常用命令大全
Docker 日常最常用的命令都在这里了,按镜像、容器、网络、卷、仓库登录、构建调试和 Compose 分组整理,排障现场直接复制改参数即可。
返回 容器与编排镜像 Image 8
docker images列出本地镜像,加 -a 包含中间层
docker pull nginx:alpine拉取指定标签镜像,省略标签默认 latest
docker build -t app:1.0 .用当前目录 Dockerfile 构建并打标签
docker rmi <image>删除镜像,被容器引用时需先停容器或加 -f
docker tag app:1.0 reg/app:1.0给镜像打新标签,常用于推送前重命名
docker save -o app.tar app:1.0导出镜像为 tar,离线传输用
docker load -i app.tar从 tar 文件导入镜像,常用在离线环境
docker pull alpine:3.20 --platform=linux/amd64拉取指定平台的镜像,ARM Mac 上拉 amd64 镜像
容器 Container 9
docker ps -a列出所有容器,含已停止的
docker run -d -p 8080:80 --name web nginx后台运行并映射端口、命名容器
docker exec -it web sh进入运行中容器的交互 shell
docker logs -f --tail 100 web跟踪容器日志最后 100 行
docker stop web && docker rm web停止并删除容器
docker inspect web查看容器完整配置 JSON,排查网络/挂载
docker start web && docker restart web启动或重启已停止的容器
docker stats实时查看所有容器 CPU/内存/网络 I/O 监控
docker top web查看容器内运行的进程列表
网络与卷 Network & Volume 8
docker network ls列出网络,排查容器间访问先看这里
docker network create appnet创建自定义 bridge 网络,容器可用名字互访
docker network connect appnet web将运行中的容器连接到指定网络
docker volume ls列出数据卷
docker run -v data:/var/lib/app app挂载命名卷做持久化
docker run -v $(pwd):/app app挂载当前目录到容器,开发常用
docker volume create appdata创建命名数据卷,用于容器间数据共享
docker volume prune清理所有未被任何容器使用的数据卷
仓库 Registry 6
docker login登录 Docker Hub,默认推送前需要认证
docker login registry.example.com登录私有仓库,支持自建 Harbor/Registry
docker push app:1.0推送镜像到远程仓库,推送前需先 tag
docker pull ubuntu:22.04从 Docker Hub 拉取 Ubuntu 22.04 镜像
docker search nginx搜索 Docker Hub 上的官方镜像,查看可用版本
docker logout退出当前登录的仓库认证
构建与调试 Build & Debug 7
docker build -t app:1.0 --no-cache .强制重新构建,不使用缓存层
docker build -t app:1.0 --target=dev .多阶段构建中只构建到指定阶段
docker history app:1.0查看镜像构建历史,每层大小和命令
docker diff <container>查看容器文件系统变化,排查写入了哪些文件
docker cp app.conf web:/etc/nginx/conf.d/将本地配置文件复制到容器中
docker cp web:/var/log/nginx/access.log ./从容器中复制日志文件到本地
docker events --since 5m实时查看 Docker 守护进程事件流,监控容器启停
Compose 与清理 9
docker compose up -d后台启动 compose 项目
docker compose logs -f svc跟踪指定服务日志
docker compose down停止并移除容器、网络,加 -v 连卷一起删
docker compose ps列出 compose 项目中所有服务的容器状态
docker compose restart重启 compose 项目中所有或指定服务
docker system df查看镜像/容器/卷占用磁盘情况
docker system prune -a清理所有未使用镜像和容器,慎用 -a
docker container prune清理所有已停止的容器
docker image prune -a清理所有未被使用的镜像,释放磁盘空间
常见问题 FAQ 5
Q: 如何清理所有未使用的 Docker 资源?A: docker system prune -a 可清理所有未使用的镜像、容器、网络和构建缓存,加 --volumes 也会清理数据卷。
Q: 如何查看容器日志?A: docker logs <container> 查看完整日志,加 -f 实时跟踪,--tail 50 只看最后 50 行,--since 5m 看最近 5 分钟。
Q: 如何进入运行中的容器?A: docker exec -it <container> /bin/bash(或 /bin/sh),退出用 exit 或 Ctrl+D。
Q: 如何将宿主机文件复制到容器?A: docker cp <src> <container>:<dest>,反向复制用 docker cp <container>:<src> <dest>。
Q: 重启策略有哪些?A: --restart=no(默认)/on-failure/always/unless-stopped,生产环境常用 unless-stopped。
💡 提示
- docker run 的 -p 是 主机端口:容器端口,写反了会导致外部访问不到。
- exec 报 "executable file not found" 时换 sh:alpine 镜像通常没有 bash。
- prune -a 会删掉所有没有容器在用的镜像,生产机执行前先确认 docker images。
- docker system df 能快速查看磁盘占用,建议定期执行避免 /var/lib/docker 占满。
- docker compose restart 比 down/up 更快,但不会重建网络和卷,nginx 改配置后最适用。
由 LaoHand 维护
公开更新于 2026年7月21日,内容持续校对官方文档。