Skip to content

Docker Compose

Docker Compose 是一个管理多个 Docker 容器的编排工具

可通过配置文件docker-compose.yaml管理各个容器的启动停止、网络、端口映射、数据卷等

下载安装

可以使用可视化桌面应用 Docker Desktop

如下:本文使用的 Docker Compose v2.31.0 + Docker v27.4.0 + Docker Desktop v4.37.2

zsh
% docker compose version
Docker Compose version v2.31.0-desktop.2
% docker --version
Docker version 27.4.0, build bde2b89
% docker version
Client:
 Version:           27.4.0
 API version:       1.47
 Go version:        go1.22.10
 Git commit:        bde2b89
 Built:             Sat Dec  7 10:35:43 2024
 OS/Arch:           darwin/arm64
 Context:           desktop-linux

Server: Docker Desktop 4.37.2 (179585)
 Engine:
  Version:          27.4.0
  API version:      1.47 (minimum version 1.24)
  Go version:       go1.22.10
  Git commit:       92a8393
  Built:            Sat Dec  7 10:38:33 2024
  OS/Arch:          linux/arm64
  Experimental:     false
 containerd:
  Version:          1.7.21
  GitCommit:        472731909fa34bd7bc9c087e4c27943f9835f111
 runc:
  Version:          1.1.13
  GitCommit:        v1.1.13-0-g58aa920
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

配置文件

Docker Compose 配置文件使用 YAML 格式,文件名为docker-compose.yaml

yaml
version: "3"

services:
  [服务名]:
    [配置项]: [配置值]
  [服务名]:
    [配置项]: [配置值]

networks:
  [网络名]:
    [配置项]: [配置值]
  [网络名]:
    [配置项]: [配置值]

volumes:
  [数据卷名]:
    [配置项]: [配置值]
  [数据卷名]:
    [配置项]: [配置值]

常用命令

Docker Compose 会默认在当前目录下查找名为docker-compose.yaml的配置文件

可以使用-f选项指定配置文件路径

zsh
% docker compose \
    -f [配置文件路径] \
    up

新版命令变化

diff
- % docker-compose [选项]     # Docker Compose V1
+ % docker compose [选项]     # Docker Compose V2

创建并启动

创建并启动docker-compose.yaml配置文件中的所有服务

zsh
% docker compose \
    -f [配置文件路径] \
    -p [项目名] \
    up \
    -d

启动

启动已存在的服务

zsh
% docker compose \
    -f [配置文件路径] \
    -p [项目名] \
    start \
    [服务名1] [服务名2]

重启

重新启动已存在的服务

zsh
% docker compose \
    -f [配置文件路径] \
    -p [项目名] \
    restart

停止

停止运行中的服务

zsh
% docker compose \
    -f [配置文件路径] \
    -p [项目名] \
    stop

移除

停止并删除所有服务,以及创建的网络

zsh
% docker compose \
    -f [配置文件路径] \
    -p [项目名] \
    down

最近更新: