docker Cheatsheet

Docker Compose 命令速查表

Docker Compose 命令一页速查:up/down/restart 启停编排、ps/logs/top 日志与状态、config/build/exec/run 配置构建与调试、--scale 水平扩容与命名卷管理,多服务项目起停排障直接对照。

把 Docker Compose 启停、日志状态、配置构建、网络卷命令按组整理成一页,多服务项目起停和排障时直接对照。

dockercompose编排多容器

启动与停止

  • docker compose up -d
    后台启动所有服务,不加 -d 会前台输出日志
  • docker compose up -d --build
    启动前强制重新构建镜像
  • docker compose stop
    停止服务但保留容器,可快速 start 恢复
  • docker compose down
    停止并删除容器和网络,加 -v 连卷一起删
  • docker compose restart svc
    重启指定服务

日志与状态

  • docker compose ps
    列出项目内服务状态
  • docker compose logs -f svc
    跟踪指定服务日志,省略 svc 看全部
  • docker compose logs --tail=100 svc
    看指定服务最后 100 行
  • docker compose top
    查看各服务容器内运行的进程
  • docker compose port svc 80
    查看服务端口映射到主机的实际端口

配置与构建

  • docker compose config
    校验并展开 compose 配置,看变量替换结果
  • docker compose build
    构建所有服务的镜像,加 --no-cache 不用缓存
  • docker compose pull
    拉取所有服务镜像,更新前先拉
  • docker compose exec svc sh
    进入运行中的服务容器
  • docker compose run --rm svc cmd
    对服务执行一次性命令,--rm 跑完删容器

网络与卷

  • docker compose up -d --scale svc=3
    水平扩容指定服务到 3 个实例
  • docker network ls
    查看网络,compose 项目会创建自己的网络
  • docker compose down -v
    删除项目并清理命名卷,数据会丢慎用
  • docker volume ls
    查看数据卷,compose 卷名格式为 项目名_卷名
  • docker compose config --volumes
    列出 compose 文件定义的所有卷

容易踩的坑

  • compose 命令默认在当前目录找 docker-compose.yml,用 -f 指定其他文件,-p 指定项目名。
  • down 默认不删卷,加 -v 才删;生产数据卷删除前先备份,命名卷删了数据找不回。
  • --scale 扩容的服务端口不能写死宿主机端口,否则多实例端口冲突起不来。