doc: update docs/docker-compose.md #997

This commit is contained in:
小弟调调
2025-08-13 22:31:05 +08:00
parent 03874e30ea
commit 6687a0989a

View File

@@ -8,17 +8,17 @@ Docker Compose 备忘清单
### Docker Compose 是什么?
- `Docker-compsoe` 是一个开源项目,用于定义和运行多容器 `Docker` 应用程序的工具。由 `Docker` 社区维护
- 通过`YAML` 文件配置应用程序的服务,以便可以使用一命令启动、停止重启整个应用程序
- **Docker Compose** 是由 [Docker](./docker.md) 社区维护的开源工具,用于定义和运行多容器应用
- 通过[YAML](./yaml.md) 文件配置服务,可用一命令启动、停止重启整个应用。
- [Docker Compose 开源地址](https://github.com/docker/compose)
- [Docker Compose 发行地址](https://github.com/docker/compose/releases) _github.com_
### 基本概念
- **服务 (services):** 一个服务指的是一个容器,即一个应用程序的一个实例。
- **容器 (container):** `Docker` 容器,其中运行着应用程序的一个实例。
- **镜像 (image):** `Docker` 镜像,用于创建容器的模板。
- **Docker-Compose 文件:** 一个 `YAML` 文件,描述了应用程序的各个服务以及它们之间的关系、配置等信息。
- **容器 (container):** [Docker](./docker.md) 容器,其中运行着应用程序的一个实例。
- **镜像 (image):** [Docker](./docker.md) 镜像,用于创建容器的模板。
- **Docker-Compose 文件:** 一个 [YAML](./yaml.md) 文件,描述了应用程序的各个服务以及它们之间的关系、配置等信息。
### Docker-Compose 文件结构
@@ -30,13 +30,12 @@ Docker Compose 备忘清单
### 安装
<!--rehype:wrap-class=row-span-2-->
Docker 20.10 之后Docker CLI 支持 插件机制Compose 也被官方迁移为 CLI 插件。
命令也尽量使用官方推荐的 `docker compose` (**中间用空格,没有横线**)。建议尽早迁移,如果旧项目需要兼容 `docker-compose`,可单独安装 `docker-compose-plugin` 插件,或者是用软链接。
Docker 20.10 起,CLI 支持插件机制,官方已将 Compose 迁移为 CLI 插件。推荐使用 `docker compose`(空格,无横线),旧项目如需兼容 `docker-compose` 可安装 `docker-compose-plugin` 或使用软链接。
```bash
sudo ln -s /usr/lib/docker/cli-plugins/docker-compose /usr/local/bin/docker-compose
```
<!--rehype:className=wrap-text-->
对于 Ubuntu 和 Debian运行
@@ -168,12 +167,13 @@ docker info --format '{{range .ClientInfo.Plugins}}{{if eq .Name "compose"}}{{.P
```bash
docker compose up -d --remove-orphans --pull always --force-recreate
```
| 参数 | 说明|
|-----|----|
| -d / --detach | 后台运行容器。|
| --remove-orphans | 删除孤儿容器和网络配置。|
| --pull always | 每次启动前都从远程仓库拉取最新镜像,确保使用最新镜像,而不是本地缓存。还可以用--pull missing只拉不存在的镜像或 --pull never不拉取。|
| --force-recreate | 强制重新创建容器,即使配置或镜像没有变化。|
| `-d / --detach` | 后台运行容器。|
| `--remove-orphans` | 删除孤儿容器和网络配置。|
| `--pull always` | 每次启动前都从远程仓库拉取最新镜像,确保使用最新镜像,而不是本地缓存。还可以用--pull missing只拉不存在的镜像或 --pull never不拉取。|
| `--force-recreate` | 强制重新创建容器,即使配置或镜像没有变化。|
<!--rehype:className=left-align-->
Docker Compose 配置
@@ -182,7 +182,8 @@ Docker Compose 配置
### 示例配置文件
<!--rehype:wrap-class=col-span-2-->
`docker-compose` 的配置文件是一个 `YAML` 文件,用于定义和运行多容器 Docker 应用程序。通常命名为 `docker-compose.yml` (现在新的版本建议`compose.yaml` 代替之前的 `docker-compose.yaml`) ,它使用单一的 YAML 文件来定义多个容器的集合,以及它们之间的依赖关系和服务。以下是一份 `docker-compose.yml` 文件的配置模板,包含了常用配置项和解释:
`docker-compose` 使用 [YAML](./yaml.md) 文件定义和运行多容器应用,通常命名为 `docker-compose.yml`(新版本建议用 `compose.yaml`)。
该文件集中描述多个容器的服务、依赖关系等。下面是一个包含常用配置项和说明的模板:
```yml
name: myapp