Repolode
docker

docker/compose

用一个 Compose 文件定义并运行多容器 Docker 应用的命令行工具。

Star
38,466
Fork
5,883
未关闭 Issue
103
最近提交
3天前

这是什么?

Docker Compose 用于定义和运行由多个容器组成的应用。你可以在遵循 Compose 规范的 YAML 文件中描述 Web 服务、数据库、缓存等各个服务,然后执行 `docker compose up` 一次性创建并启动所有服务,无需逐条手动执行 `docker run`。

Compose 文件可以指定每个容器的镜像或构建方式、端口映射、数据卷以及服务之间的连接关系。项目使用 Go 编写,以 Docker CLI 插件的形式提供,`docker compose` 命令可与常规 Docker 命令并用。Windows 和 macOS 用户可通过 Docker Desktop 直接使用,Linux 则可下载独立二进制文件安装。

项目的旧版 Python 实现保留在 v1 分支中。另外,Docker Swarm 已由 Mirantis 维护,因此部分新版 Compose 功能在 Swarm 中不可用。

核心功能

  • 01使用遵循 Compose 规范的单个 YAML 文件定义多容器应用。
  • 02通过 `docker compose up` 等命令一次启动、停止或重建应用的所有服务。
  • 03为每个服务基于 Dockerfile 构建镜像,或从镜像仓库拉取。
  • 04支持 Windows、macOS 和 Linux,可随 Docker Desktop 安装,也提供独立二进制文件。

适用场景

  • 在开发者本地同时运行 Web 应用及其数据库和缓存。
  • 用共享的 Compose 文件为团队搭建可复现的本地开发环境。
  • 在运行测试套件前启动集成测试所需的依赖服务。

快速上手

  1. 1

    在 Windows 或 macOS 上通过 Docker Desktop 安装 Docker Compose

  2. 2

    在 Linux 上,从发布页面下载二进制文件并放入 CLI 插件目录

  3. 3

    在 compose.yaml 文件中定义服务,然后启动应用

    docker compose up

使用前须知

  • 基于 Python 的 v1 版本仅保留在旧分支中。
  • Docker Swarm 用户可能无法使用 Compose 的全部功能。

收录于专题

标签

常见问题

compose 是什么?
用一个 Compose 文件定义并运行多容器 Docker 应用的命令行工具。 Docker Compose 用于定义和运行由多个容器组成的应用。你可以在遵循 Compose 规范的 YAML 文件中描述 Web 服务、数据库、缓存等各个服务,然后执行 `docker compose up` 一次性创建并启动所有服务,无需逐条手动执行 `docker run`。
compose 可以免费使用吗?用的什么许可证?
compose 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
compose 还在维护吗?
活跃维护中。compose 最近一次提交是在 2026年10月22日。
compose 适合用来做什么?
在开发者本地同时运行 Web 应用及其数据库和缓存。 用共享的 Compose 文件为团队搭建可复现的本地开发环境。 在运行测试套件前启动集成测试所需的依赖服务。
compose 怎么安装和运行?
在 Windows 或 macOS 上通过 Docker Desktop 安装 Docker Compose 在 Linux 上,从发布页面下载二进制文件并放入 CLI 插件目录 在 compose.yaml 文件中定义服务,然后启动应用: docker compose up
在哪里获取 compose?
源代码和安装说明在 GitHub 上:https://github.com/docker/compose

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目