Skip to content

命令速查表

分类汇总全部常用命令。
约定:<c> = 容器,<img> = 镜像,<net> = 网络,<vol> = 卷。

环境信息

bash
docker version          # 客户端/服务端版本
docker info             # 服务端详情
docker context ls       # 上下文(colima/default)
docker system df        # 磁盘占用
docker system info      # 系统信息

镜像

bash
docker pull <img>            # 拉取
docker push <img>            # 推送
docker images                # 列出
docker rmi <img>             # 删除
docker tag <img> <新名:tag>  # 打标签
docker build -t <name:tag> . # 构建
docker history <img>         # 分层历史
docker inspect <img>         # 详情
docker save -o a.tar <img>   # 导出
docker load -i a.tar         # 导入
docker image prune           # 清理悬空镜像
docker image prune -a        # 清理未使用镜像

容器

bash
docker run -d --name <c> -p 80:80 <img>   # 后台运行
docker run -it --rm <img> sh              # 交互一次性
docker ps                                 # 运行中
docker ps -a                              # 全部
docker start / stop / restart / kill <c>
docker pause / unpause <c>
docker rm <c> / docker rm -f <c>
docker exec -it <c> sh                    # 进入
docker logs -f <c>                        # 日志
docker inspect <c>                        # 详情
docker top <c>                            # 进程
docker stats                              # 资源
docker cp <c>:/path ./                    # 拷贝
docker port <c>                           # 端口映射
docker rename <c> 新名                    # 重命名
docker update --memory 1g <c>             # 更新资源
docker commit <c> <img>                   # 提交快照
docker wait <c>                           # 等待退出并返回码

网络

bash
docker network ls
docker network create <net>
docker network inspect <net>
docker network connect <net> <c>
docker network disconnect <net> <c>
docker network rm <net>
docker network prune

存储

bash
docker volume ls
docker volume create <vol>
docker volume inspect <vol>
docker volume rm <vol>
docker volume prune

Compose(在 YAML 目录下)

bash
docker compose up -d              # 启动
docker compose up -d --build      # 重建并启动
docker compose down               # 停止删除
docker compose down -v            # 连卷删除
docker compose ps / logs / top
docker compose logs -f <>
docker compose exec <> sh
docker compose run --rm <> sh
docker compose start / stop / restart
docker compose pull / build
docker compose config             # 校验
docker compose ps --services

清理

bash
docker container prune    # 删除已停止容器
docker image prune -a     # 删除未使用镜像
docker volume prune       # 删除未使用卷
docker network prune      # 删除未使用网络
docker builder prune      # 清理构建缓存
docker system prune -a    # 大扫除(慎)

参数速记

参数含义
-d后台运行
-it交互式终端
--rm退出自动删除
--name命名容器
-p 8080:80端口映射 宿主:容器
-e KEY=VAL环境变量
-v vol:/path挂载卷
-v /host:/path绑定挂载
--network指定网络
--restart重启策略
-m / --cpus内存/CPU 限制
-f强制 / 跟踪日志
-q只输出 ID

inspect 常用模板

bash
# 容器 IP
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <c>
# 状态
docker inspect -f '{{.State.Status}}' <c>
# 镜像 ID
docker inspect -f '{{.Image}}' <c>
# 退出码
docker inspect -f '{{.State.ExitCode}}' <c>

更全的 Go template 用法见官方文档:docker inspect --help