Docker Compose 命令用法

在容器化应用开发与运维中,Docker Compose 是一个不可或缺的工具。通过简单的命令行操作,我们可以轻松管理多容器应用的生命周期。本文将深入解析 Docker Compose 中常用命令的功能、行为及使用场景,帮助你更高效地构建、启动、管理和调试容器化应用。

一、镜像管理

1. docker compose build

  • 功能:用于构建或重新构建服务的镜像。
  • 具体行为
    • 如果服务的镜像已经存在,build 命令会根据 Dockerfile 和上下文(context)重新构建镜像。
    • 如果服务的镜像不存在,build 命令会根据 Dockerfile 从头开始构建镜像。
    • 默认情况下,build 命令会拉取基础镜像的最新版本(如果指定了 pull 选项)。
  • 使用场景
    • 当你修改了 Dockerfile 或者上下文中的文件时,需要重新构建镜像。
    • 在第一次部署服务时,需要构建镜像。

2. docker compose pull

  • 功能:拉取服务依赖的镜像。

  • 具体行为

    • 从镜像仓库(如 Docker Hub)下载 docker-compose.yml 中定义的镜像。
    • 不构建本地镜像,仅拉取已存在的远程镜像。
    • 结合 --ignore-pull-failures 可忽略拉取错误。
  • 使用场景

    • 更新远程镜像到最新版本。
    • 在部署前确保本地存在最新镜像。
  • 示例用法

    # 拉取所有服务的镜像
    docker compose pull
    
    # 拉取特定服务的镜像(如 postgres)
    docker compose pull postgres
    

二、容器管理

1. docker compose up

  • 功能:构建、创建并启动服务。
  • 具体行为
    • 如果服务的镜像不存在,up 命令会调用 build 来构建镜像。
    • 如果服务的容器不存在,up 命令会创建并启动容器。
    • 如果服务的容器已经存在但未运行,up 命令会启动容器。
    • up 命令还会根据 docker compose.yml 文件中的配置,启动依赖的服务。
  • 使用场景
    • 在开发过程中,快速启动整个应用栈。
    • 在部署时,启动所有服务并确保它们正常运行。
    • 默认情况下,up 命令会在前台运行,并显示服务的日志输出。如果需要在后台运行,可以使用 docker compose up -d

2. docker compose down

  • 功能:停止并移除容器、网络、卷等资源。
  • 具体行为
    • down 命令会先调用 stop 停止所有正在运行的容器。
    • 然后删除所有由 docker compose up 创建的容器。
    • 删除由 docker compose up 创建的网络。
    • 删除由 docker compose up 创建的卷(默认情况下,匿名卷也会被删除,但命名卷不会被删除)。
    • 删除由 docker compose up 创建的配置文件中定义的镜像(如果指定了 --rmi 选项)。
  • 使用场景
    • 当你需要完全清理由
<think>嗯,用户想了解Docker Compose命令大全。首先,我需要回忆一下Docker Compose的常用命令,然后组织成一个结构清晰的回答。Docker Compose主要用于定义和运行多容器应用,所以命令主要围绕项目的启动、停止、构建等。 首先,我应该列出最常用的命令,比如up、down、build、ps这些。然后可能需要分门别类,比如项目管理、服务管理、调试与日志、配置相关等。这样用户查找起来方便。 需要注意的是用户提到系统级指令,比如数学表达式的格式,但这里的内容可能不涉及数学公式,不过还是要确保格式正确。另外,回答要用中文,结构清晰,步骤详细。 接下来,每个命令需要给出基本用法和常见选项。例如,docker compose up 后面可以跟-d,还有--build选项。可能需要举例说明,比如docker compose up -d --build。 还要注意一些容易混淆的地方,比如docker composedocker-compose的区别,虽然现在推荐使用docker compose作为插件,但有些旧系统可能还在用docker-compose的独立版本,可能需要提到这一点。 另外,用户可能需要一些实际应用的例子,比如如何扩展服务,如何查看日志。所以可以加入一些示例,比如docker compose logs -f web。 需要检查命令的正确性,确保选项和用法没有错误。比如,docker compose exec和docker compose run的区别,前者是在运行中的容器执行命令,后者是启动新容器并运行命令。 可能还需要提醒用户配置文件是docker-compose.yml,以及如何指定不同的配置文件,比如使用-f选项。 最后,总结一下常用场景,帮助用户快速应用这些命令。可能需要分点说明,比如开发环境、生产环境、调试等不同情况下的命令使用。 总之,结构应该是先概述Docker Compose的作用,然后分大类列出命令,每个命令给出说明、语法、选项和示例,最后总结应用场景。确保信息准确,易于理解,符合用户的需求。</think>以下为Docker Compose常用命令详解,按功能分类整理: --- ### 一、核心项目管理命令 1. **启动服务** ```bash docker compose up [options] ``` - `-d`:后台运行 - `--build`:启动前重新构建镜像 - 示例:`docker compose up -d --build` 2. **停止并移除容器** ```bash docker compose down [options] ``` - `-v`:同时删除数据卷 - `--rmi all`:删除所有相关镜像 - 示例:`docker compose down -v` --- ### 二、服务操作命令 3. **查看运行状态** ```bash docker compose ps ``` 4. **启停服务** ```bash docker compose start # 启动已存在的容器 docker compose stop # 停止容器但不删除 docker compose restart # 重启容器 ``` 5. **扩展服务实例** ```bash docker compose up --scale <service>=<num> ``` - 示例:`docker compose up -d --scale web=3` --- ### 三、镜像构建相关 6. **构建服务镜像** ```bash docker compose build [service] ``` 7. **强制重建镜像** ```bash docker compose build --no-cache ``` --- ### 四、调试与日志 8. **查看实时日志** ```bash docker compose logs -f [service] ``` 9. **进入容器终端** ```bash docker compose exec <service> sh ``` 10. **单次运行命令** ```bash docker compose run <service> <command> ``` --- ### 五、配置相关操作 11. **验证配置文件** ```bash docker compose config ``` 12. **指定配置文件** ```bash docker compose -f custom.yml up ``` --- ### 六、高级功能 13. **查看服务依赖图** ```bash docker compose config --services ``` 14. **查看端口映射** ```bash docker compose port <service> <port> ``` --- ### 典型应用场景 - **开发环境**:`up -d` + `logs -f` - **生产部署**:`up -d --build` + `ps` - **调试排查**:`exec` + `logs` - **版本更新**:`down` → 修改配置 → `up` 建议结合`docker-compose.yml`配置文件使用,可通过`docker compose --help`查看完整命令列表。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值