Skip to content

docker-compose的使用

1. 概述

Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application's services. Then, with a single command, you create and start all the services from your configuration.

Compose works in all environments; production, staging, development, testing, as well as CI workflows. It also has commands for managing the whole lifecycle of your application:

  • Start, stop, and rebuild services
  • View the status of running services
  • Stream the log output of running services
  • Run a one-off command on a service

即:

  • Docker Compose 是一个用于管理多容器的Docker应用程序的工具。通过compose,你可以通过YAML文件来定义配置你的应用服务,然后通过一个单一命令,就可以创建并启动你配置的所有的服务。
  • Compose能运行在各种环境下,像生产环境、预发布环境、开发环境、测试环境、CI工作流等,有管理应用全生命周期的命令。
    • start启动、stop停止、rebuild重新构建服务。
    • 查看运行服务的状态信息。
    • 查看运行服务的日志信息。
    • 对服务运行一次性命令。
  • compose手册Docker Compose overview
  • 从 2023 年 7 月起,Compose V1 停止接收更新。 它在新版本的 Docker Desktop 中也不再可用。
  • Compose V2 包含在所有当前支持的 Docker Desktop 版本中。
  • compose参考文档 Compose file version 3 reference
  • Docker compose允许你使用 YAML 文件来定义应用程序的服务、网络和卷等内容,并在单个主机或多个主机上进行部署。Docker Compose 有以下版本:
    • v1:这是最早的版本,支持基本功能,如构建镜像、启动容器、设置环境变量等。废弃不用。
    • v2.x:增加了对Swarm模式的支持,可以通过docker stack命令将Compose文件部署到Swarm集群中。
    • v3.x:引入了一些新特性,例如配置命名空间、healthcheck检查、秘密管理等。同时也提供了对Kubernetes的支持。
  • docker-compose.yml文件中指定的version必须与安装在主机上的Docker Compose版本相匹配。如果使用不同版本之间的兼容性问题,则可能会导致意外行为或错误。
  • Docker Compose有几个版本,每个版本都提供了不同的特性和兼容性。在编写docker-compose.yml文件时,请确保所指定的version与主机上安装的Docker Compose版本相匹配,以避免任何问题。

2. docker-compose与docker版本对应关系

This table shows which Compose file versions support specific Docker releases.

compose文件版本docker引擎版本
Compose specification19.03.0+
3.819.03.0+
3.718.06.0+
3.618.02.0+
3.517.12.0+
3.417.09.0+
3.317.06.0+
3.217.04.0+
3.11.13.1+
31.13.0+
2.417.12.0+
2.317.06.0+
2.21.13.0+
2.11.12.0+
21.10.0+

本首页参考 https://notes.fe-mm.com/ 配置而成