Compose 常用命令详解——AI教你学Docker

3.3 Compose 常用命令详解

Docker Compose 通过一系列命令高效管理多容器应用。理解这些命令,可以让你灵活地启动、停止、查看、调试、扩缩容和配置 Compose 项目。


一、核心命令详解

1. docker compose up

  • 功能:启动并构建所有服务,生成网络和卷。

  • 用法:

    bash 复制代码
    docker compose up         # 前台模式,日志直接输出到终端
    docker compose up -d      # 分离(detach)模式,后台运行
  • 常用参数:

    • --build:启动前强制重新构建镜像
    • --force-recreate:强制重建容器
    • --remove-orphans:删除未在配置文件中的容器

2. docker compose down

  • 功能:停止并删除所有容器、网络和默认卷(不删除数据卷,除非加参数)

  • 用法:

    bash 复制代码
    docker compose down
    docker compose down -v    # 同时删除卷

3. docker compose restart

  • 功能:重启所有服务(先 stop 后 start)

  • 用法:

    bash 复制代码
    docker compose restart
    docker compose restart <服务名>

4. docker compose stopdocker compose start

  • stop:停止所有服务(容器保留,不会被删)

    bash 复制代码
    docker compose stop
  • start:启动已停止的服务(不重新创建容器)

    bash 复制代码
    docker compose start

5. docker compose ps

  • 功能:查看当前 Compose 项目的服务及状态

  • 用法:

    bash 复制代码
    docker compose ps

6. docker compose logs

  • 功能:查看所有服务的日志,支持跟踪

  • 用法:

    bash 复制代码
    docker compose logs           # 查看全部日志
    docker compose logs -f       # 跟踪实时日志
    docker compose logs <服务名> # 查看指定服务

7. docker compose exec

  • 功能:在运行中的容器内执行命令(类似 docker exec)

  • 用法:

    bash 复制代码
    docker compose exec <服务名> <命令>
    # 例:进入 web 容器
    docker compose exec web sh

8. docker compose build

  • 功能:根据 Compose 文件的 build 条目构建服务镜像

  • 用法:

    bash 复制代码
    docker compose build
    docker compose build <服务名>

9. docker compose config

  • 功能:验证、预览和合成实际的 Compose 配置

  • 用法:

    bash 复制代码
    docker compose config
  • 作用:检查语法,展示变量展开后的完整配置,调试合并多 Compose 文件的最终效果。

二、detach 模式与前台模式

1. 前台模式

  • 默认运行方式,日志直接输出到终端。
  • 可实时查看所有服务日志,适合开发和调试。
  • 终端关闭会终止所有容器。

2. detach(分离)模式

  • -d 参数后,Compose 会在后台启动服务。
  • 适合生产、集成测试等无需实时查看日志的场景。
  • 需用 docker compose logs 查看日志。

三、服务扩展与缩容(scale)

1. 临时扩/缩容

  • --scale 参数指定某服务副本数(仅适用于无状态服务)

    bash 复制代码
    docker compose up -d --scale web=3
  • 支持单独对某个服务扩容

2. docker compose scale(已废弃)

  • 旧版 Compose 支持 docker-compose scale,v2 推荐用 --scale

3. 持久扩缩容

  • 推荐直接在 docker-compose.ymldeploy.replicas 字段设置(Swarm/K8s 有效)。

四、命令速查表

功能 命令示例 说明
启动服务 docker compose up [-d] 后台加 -d
停止并清理 docker compose down 停止并删除容器/网络
重启服务 docker compose restart
停止服务 docker compose stop
启动已停服务 docker compose start
查看状态 docker compose ps
查看日志 docker compose logs -f 实时跟踪日志
容器内命令 docker compose exec web sh 进入 web 容器
构建镜像 docker compose build
配置预览 docker compose config 展开与校验配置
服务扩容 docker compose up --scale web=3 -d web扩3副本

五、补充说明

  • docker compose run 可运行一次性任务(如数据库迁移),不会自动加端口映射和依赖服务。
  • docker compose rm 删除已退出的服务容器。
  • 配合多 Compose 文件(-f)可实现多环境管理。
  • 推荐用 docker compose(v2)替代 docker-compose(v1)。

六、官方文档

相关推荐
宋均浩14 小时前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
程序员老赵1 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
WangMingHua1111 天前
LM Studio Docker 部署——本地大模型一键启动
docker
曲幽3 天前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
武子康4 天前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
Alsn867 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
JLWcai202510097 天前
铸造领域树脂砂轮|金利威多场景解决方案,20 + 配方覆盖全需求
mongodb·zookeeper·eureka·spark·rabbitmq·memcached·storm
2601_961875247 天前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant
java_cj7 天前
深入kube-apiserver认证机制:从Bearer Token到mTLS的完整认证链解析
linux·运维·服务器·云原生·容器·kubernetes
程序员老赵7 天前
服务器没有桌面?Docker 跑个 Chrome,浏览器就能远程用
docker·容器·devops