Compose 常用命令
约 716 字大约 2 分钟
布欧-Lewyon
2026-05-15
首页 › Docker › Docker Compose(在新窗口打开) › Compose 常用命令
up / down
# 启动所有服务并创建网络/卷(后台)
docker compose up -d
# 前台运行(查看实时日志)
docker compose up
# 启动特定服务
docker compose up -d web mysql
# 停止并移除容器、网络
docker compose down
# 同时删除卷(数据会丢失!)
docker compose down -v
# 同时删除镜像
docker compose down --rmi allps / top
# 查看服务状态
docker compose ps
# NAME IMAGE COMMAND SERVICE STATUS PORTS
# project-web-1 nginx:alpine "/docker-entrypoint.…" web Up 2 hours 0.0.0.0:8080->80/tcp
# project-mysql-1 mysql:8.4 "docker-entrypoint.s…" mysql Up 2 hours 3306/tcp
# 查看进程
docker compose toplogs
# 查看所有服务日志
docker compose logs
# 实时追踪
docker compose logs -f
# 查看特定服务
docker compose logs -f web
# 只查看最后 50 行
docker compose logs --tail=50 -f
# 增加时间戳
docker compose logs -texec / run
# 在运行中的服务容器中执行命令
docker compose exec web sh
docker compose exec mysql mysql -u root -p
# 运行一次性命令(在新容器中,类似 docker run)
docker compose run --rm web npm test
docker compose run --rm -e DEBUG=true web node debug.jsbuild / pull / push
# 构建镜像(仅构建 compose.yml 中 build 指定了 context 的服务)
docker compose build
# 强制重新构建(不使用缓存)
docker compose build --no-cache
# 构建特定服务
docker compose build web
# 拉取最新镜像
docker compose pull
# 推送镜像
docker compose pushrestart / pause / stop
# 重启所有服务
docker compose restart
# 重启特定服务
docker compose restart web
# 暂停/恢复
docker compose pause
docker compose unpause
# 停止(保留容器和数据)
docker compose stop
docker compose startconfig
# 验证 compose 文件格式
docker compose config
# 展开后的配置(替换 .env 变量后)
docker compose config --resolve-image-digests
# 输出为 JSON
docker compose config --format json多 Compose 文件
# 合并多个 compose 文件
docker compose -f compose.yml -f compose.override.yml up -d
docker compose -f compose.yml -f compose.prod.yml up -d
# Compose 默认自动读取 compose.override.yml(如果存在)开发/生产覆盖
# compose.yml(基础配置)
services:
web:
image: myapp
ports:
- "3000:3000"# compose.prod.yml(生产覆盖)
services:
web:
restart: always
environment:
- NODE_ENV=production# 开发模式(默认读取 compose.override.yml)
docker compose up -d
# 生产模式
docker compose -f compose.yml -f compose.prod.yml up -dProfiles
# 使用 profiles 按需启动服务
docker compose --profile dev up -d
docker compose --profile monitoring up -dservices:
web:
image: nginx:alpine
db:
image: postgres:16
redis:
image: redis:alpine
profiles: ["dev"]
prometheus:
image: prom/prometheus
profiles: ["monitoring"]
grafana:
image: grafana/grafana
profiles: ["monitoring"]小结
up -d启动、down停止、ps查看状态、logs -f查看日志。exec进入服务容器执行命令;run --rm在新容器中执行一次性命令。-f指定 Compose 文件,多个文件叠加,适合开发/生产环境切换。profiles按需启动特定服务组,避免启动不必要的服务。config验证 Compose 文件并展示最终解析结果。
上一节:Compose 文件与服务定义 下一节:LNMP 栈实战
