mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-08-10 08:27:25 +00:00
Fix guide issues
This commit is contained in:
@@ -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` 来进行编排管理。
|
||||
|
||||
@@ -2,32 +2,16 @@
|
||||
|
||||
`Compose` 是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。
|
||||
|
||||
从 `v2` 版本开始,`Compose` 作为 `docker` 的子命令存在,例如 `docker compose up`。
|
||||
|
||||
`Compose` 支持 Linux、macOS、Windows 10 三大平台。
|
||||
|
||||
`Docker Desktop for Mac/Windows` 自带 `docker compose` 命令。
|
||||
|
||||
Linux 系统请使用以下介绍的方法安装。
|
||||
当前的 Compose 以 `docker compose` 子命令的形式提供。Docker Desktop 在 macOS、Windows 和 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
@@ -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
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user