Fix guide issues

This commit is contained in:
yeasy
2026-03-28 18:24:46 -07:00
parent 5a6a50ba97
commit 85f76aa6d9
28 changed files with 123 additions and 885 deletions
+3 -3
View File
@@ -1,6 +1,6 @@
## 11.1 简介
`Compose` 项目是 Docker 官方的开源项目负责实现对 Docker 容器集群的快速编排从功能上看 `OpenStack` 中的 `Heat` 十分类似
`Compose` 项目是 Docker 官方的开源项目负责实现对 Docker 容器的快速编排从功能上看 `OpenStack` 中的 `Heat` 十分类似
其代码目前在 [docker/compose 仓库](https://github.com/docker/compose) 上开源。
@@ -20,7 +20,7 @@ Docker Compose 让用户能够以声明式方式定义和管理多容器应用
Compose 模板文件采用 YAML 格式扩展名为 `.yml` `.yaml`
> **注意** Compose V2 `version` 字段已不再强制要求 Docker Compose v5 规范已完全不需要顶层 `version` 字段为了保持最佳兼容性建议不在新文件中使用该字段
> **注意**Compose Specification 顶层 `version` 字段仅用于向后兼容当前已标记为 obsolete新文件建议直接省略该字段
Docker Compose 默认使用 `compose.yaml`也兼容 `compose.yml``docker-compose.yaml``docker-compose.yml` 等文件名
@@ -34,6 +34,6 @@ Docker Compose 默认使用 `compose.yaml`,也兼容 `compose.yml`、`docker-c
`Compose` 项目早期由 Python 编写称为 Docker Compose V1
现在的 Docker Compose V2 是一个 Go 语言编写的 Docker CLI 插件已经集成到 Docker Desktop Docker Engine 直接通过 `docker compose` 命令使用它提供了更快的性能和更好的集成体验
现在的 Docker Compose V2 是一个 Go 语言编写的 Docker CLI 插件Docker Desktop 默认包含它 Linux 也可以将它作为独立的 CLI 插件安装后直接通过 `docker compose` 命令使用它提供了更快的性能和更好的集成体验
只要所操作的平台支持 Docker API就可以在其上利用 `Compose` 来进行编排管理
+5 -27
View File
@@ -2,32 +2,16 @@
`Compose` Docker 官方的开源项目负责实现对 Docker 容器集群的快速编排
`v2` 版本开始`Compose` 作为 `docker` 的子命令存在例如 `docker compose up`
`Compose` 支持 LinuxmacOSWindows 10 三大平台
`Docker Desktop for Mac/Windows` 自带 `docker compose` 命令
Linux 系统请使用以下介绍的方法安装
当前的 Compose `docker compose` 子命令的形式提供Docker Desktop macOSWindows Linux 上默认包含它如果你已经在 Linux 上单独安装了 Docker Engine Docker CLI也可以再安装 Compose CLI 插件
### 11.2.1 Linux
Linux 你可以通过下载 Docker Compose CLI 插件 (二进制文件名为 `docker-compose`) 来安装
[官方 GitHub Release](https://github.com/docker/compose/releases) 处直接下载编译好的二进制文件即可。
> **提示**版本更新较快请访问上述链接获取最新版本号替换下方命令中的版本号
例如 Linux 64 位系统上直接下载对应的二进制包 ( v5.1.0 为例)
Linux 你可以通过 Docker 官方发布页安装 Compose CLI 插件二进制文件保存到 `$DOCKER_CONFIG/cli-plugins/docker-compose`并赋予执行权限即可
```bash
$ DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
$ mkdir -p $DOCKER_CONFIG/cli-plugins
$ curl -SL https://github.com/docker/compose/releases/download/v5.1.0/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
```
之后执行
```bash
$ curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
$ chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
```
@@ -35,16 +19,10 @@ $ chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
```bash
$ docker compose version
Docker Compose version v5.1.0
Docker Compose version vX.Y.Z
```
### 11.2.3 bash 补全命令
```bash
$ curl -L https://raw.githubusercontent.com/docker/compose/v5.1.0/contrib/completion/bash/docker-compose | sudo tee /etc/bash_completion.d/docker-compose > /dev/null
```
### 11.2.4 卸载
### 11.2.3 卸载
如果是二进制包方式安装的删除二进制文件即可
+15 -29
View File
@@ -1,6 +1,6 @@
## 11.3 使用
本节将通过一个具体的 Web 应用案例介绍 Docker Compose 的基本概念和使用方法
本节将通过一个具体的 Web 应用案例介绍 Docker Compose 的基本概念和常用操作
### 11.3.1 术语
@@ -12,13 +12,11 @@
可见一个项目可以由多个服务 (容器) 关联而成`Compose` 面向项目进行管理
### 11.3.2 场景
### 11.3.2 准备示例
最常见的项目是 web 网站该项目应该包含 web 应用和缓存
下面创建一个由 `web` `redis` 组成的简单示例项目
下面我们用 `Python` 来建立一个能够记录页面访问次数的 web 网站
#### web 应用
#### 应用代码
新建文件夹在该目录中编写 `app.py` 文件
@@ -59,32 +57,34 @@ services:
web:
build: .
ports:
- "5000:5000"
- "5000:5000"
redis:
image: "redis:alpine"
```
#### 运行 compose 项目
### 11.3.3 启动与验证
#### 启动项目
```bash
$ docker compose up
```
此时访问本地 `5000` 端口每次刷新页面计数就会加 1
按下 `Ctrl-C` 停止项目
#### 后台运行
#### 后台运行与停止
```bash
$ docker compose up -d
$ docker compose stop
```
#### 停止
#### 查看日志
```bash
$ docker compose stop
$ docker compose logs -f
```
#### 进入服务
@@ -96,21 +96,12 @@ $ docker compose exec redis sh
"9"
```
#### 查看日志
### 11.3.4 常用命令
```bash
$ docker compose logs -f
```
#### 构建镜像
#### 构建与重建
```bash
$ docker compose build
```
#### 启动服务
```bash
$ docker compose start
```
@@ -120,14 +111,9 @@ $ docker compose start
$ docker compose run web python app.py
```
#### 验证 Compose 文件
#### 验证与清理
```bash
$ docker compose config
```
#### 删除项目
```bash
$ docker compose down
```