docker Cheatsheet
Docker Compose 命令速查表
Docker Compose 命令一页速查:up/down/restart 启停编排、ps/logs/top 日志与状态、config/build/exec/run 配置构建与调试、--scale 水平扩容与命名卷管理,多服务项目起停排障直接对照。
把 Docker Compose 启停、日志状态、配置构建、网络卷命令按组整理成一页,多服务项目起停和排障时直接对照。
启动与停止
- 后台启动所有服务,不加 -d 会前台输出日志
docker compose up -d - 启动前强制重新构建镜像
docker compose up -d --build - 停止服务但保留容器,可快速 start 恢复
docker compose stop - 停止并删除容器和网络,加 -v 连卷一起删
docker compose down - 重启指定服务
docker compose restart svc
日志与状态
- 列出项目内服务状态
docker compose ps - 跟踪指定服务日志,省略 svc 看全部
docker compose logs -f svc - 看指定服务最后 100 行
docker compose logs --tail=100 svc - 查看各服务容器内运行的进程
docker compose top - 查看服务端口映射到主机的实际端口
docker compose port svc 80
配置与构建
- 校验并展开 compose 配置,看变量替换结果
docker compose config - 构建所有服务的镜像,加 --no-cache 不用缓存
docker compose build - 拉取所有服务镜像,更新前先拉
docker compose pull - 进入运行中的服务容器
docker compose exec svc sh - 对服务执行一次性命令,--rm 跑完删容器
docker compose run --rm svc cmd
网络与卷
- 水平扩容指定服务到 3 个实例
docker compose up -d --scale svc=3 - 查看网络,compose 项目会创建自己的网络
docker network ls - 删除项目并清理命名卷,数据会丢慎用
docker compose down -v - 查看数据卷,compose 卷名格式为 项目名_卷名
docker volume ls - 列出 compose 文件定义的所有卷
docker compose config --volumes
容易踩的坑
- compose 命令默认在当前目录找 docker-compose.yml,用 -f 指定其他文件,-p 指定项目名。
- down 默认不删卷,加 -v 才删;生产数据卷删除前先备份,命名卷删了数据找不回。
- --scale 扩容的服务端口不能写死宿主机端口,否则多实例端口冲突起不来。