diff --git a/cases/ci/drone/docker-compose.yml b/cases/ci/drone/docker-compose.yml index 2c04ee9..358e973 100644 --- a/cases/ci/drone/docker-compose.yml +++ b/cases/ci/drone/docker-compose.yml @@ -1,4 +1,4 @@ -version: '3' + services: diff --git a/cases/ci/drone/install.md b/cases/ci/drone/install.md index 124bafa..7d1288c 100644 --- a/cases/ci/drone/install.md +++ b/cases/ci/drone/install.md @@ -25,7 +25,7 @@ 我们通过使用 `Docker Compose` 来启动 `Drone`,编写 `docker-compose.yml` 文件。 ```yaml -version: '3' + services: diff --git a/compose/compose_file.md b/compose/compose_file.md index a10c739..7b27221 100644 --- a/compose/compose_file.md +++ b/compose/compose_file.md @@ -5,7 +5,7 @@ 默认的模板文件名称为 `docker-compose.yml`,格式为 YAML 格式。 ```yaml -version: "3" # 在 Compose V2 中,version 字段已成为可选,且推荐不再使用。 + services: webapp: @@ -27,7 +27,7 @@ services: 指定 `Dockerfile` 所在文件夹的路径(可以是绝对路径,或者相对 docker-compose.yml 文件的路径)。 `Compose` 将会利用它自动构建这个镜像,然后使用这个镜像。 ```yaml -version: '3' + services: webapp: @@ -41,7 +41,7 @@ services: 使用 `arg` 指令指定构建镜像时的变量。 ```yaml -version: '3' + services: webapp: @@ -130,7 +130,7 @@ devices: 解决容器的依赖、启动先后的问题。以下例子中会先启动 `redis` `db` 再启动 `web` ```yaml -version: '3' + services: web: @@ -352,7 +352,7 @@ network_mode: "container:[container name/id]" 配置容器连接的网络。 ```yaml -version: "3" + services: some-service: @@ -394,7 +394,7 @@ ports: 存储敏感数据,例如 `mysql` 服务密码。 ```yaml -version: "3.1" + services: mysql: @@ -474,7 +474,7 @@ volumes: 如果路径为数据卷名称,必须在文件中配置数据卷。 ```yaml -version: "3" + services: my_src: @@ -553,7 +553,7 @@ Compose 模板文件支持动态读取主机的系统环境变量和当前目录 例如,下面的 Compose 文件将从运行它的环境中读取变量 `${MONGO_VERSION}` 的值,并写入执行的指令中。 ```yaml -version: "3" + services: db: diff --git a/compose/demo/app/docker-compose.yml b/compose/demo/app/docker-compose.yml index f2a202f..b8f0837 100644 --- a/compose/demo/app/docker-compose.yml +++ b/compose/demo/app/docker-compose.yml @@ -1,4 +1,4 @@ -version: '3' + services: web: diff --git a/compose/demo/django/docker-compose.yml b/compose/demo/django/docker-compose.yml index 861980a..7219cb6 100644 --- a/compose/demo/django/docker-compose.yml +++ b/compose/demo/django/docker-compose.yml @@ -1,4 +1,4 @@ -version: "3" + services: db: diff --git a/compose/demo/wordpress/docker-compose.yml b/compose/demo/wordpress/docker-compose.yml index 97109f8..fbe53e6 100644 --- a/compose/demo/wordpress/docker-compose.yml +++ b/compose/demo/wordpress/docker-compose.yml @@ -1,4 +1,4 @@ -version: "3" + services: db: diff --git a/compose/django.md b/compose/django.md index e731a99..d65c941 100644 --- a/compose/django.md +++ b/compose/django.md @@ -30,7 +30,7 @@ psycopg2-binary>=2.9,<3.0 第三步,`docker-compose.yml` 文件将把所有的东西关联起来。它描述了应用的构成(一个 web 服务和一个数据库)、使用的 Docker 镜像、镜像之间的连接、挂载到容器的卷,以及服务开放的端口。 ```yaml -version: "3" + services: db: diff --git a/compose/install.md b/compose/install.md index 35e9d7d..4f0c476 100644 --- a/compose/install.md +++ b/compose/install.md @@ -23,7 +23,7 @@ Linux 系统请使用以下介绍的方法安装。 ```bash $ DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} $ mkdir -p $DOCKER_CONFIG/cli-plugins -$ curl -SL https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose +$ curl -SL https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose ``` 之后,执行 @@ -36,13 +36,13 @@ $ chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose ```bash $ docker compose version -Docker Compose version v2.40.3 +Docker Compose version v5.0.1 ``` ## bash 补全命令 ```bash -$ curl -L https://raw.githubusercontent.com/docker/compose/v2.40.3/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose +$ curl -L https://raw.githubusercontent.com/docker/compose/v5.0.1/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose ``` ## 卸载 diff --git a/compose/introduction.md b/compose/introduction.md index 6777614..7b256c3 100644 --- a/compose/introduction.md +++ b/compose/introduction.md @@ -10,6 +10,14 @@ `Compose` 恰好满足了这样的需求。它允许用户通过一个单独的 `docker-compose.yml` 模板文件(YAML 格式)来定义一组相关联的应用容器为一个项目(project)。 +## 模板文件规范 + +Compose 模板文件采用 YAML 格式,扩展名为 `.yml` 或 `.yaml`。 + +> **注意**:自 Compose V2 起,`version` 字段已不再强制要求。在 Docker Compose v5 中,规范已完全不需要顶层 `version` 字段。为了保持最佳兼容性,建议不在新文件中使用该字段。 + +Docker Compose 默认使用 `docker-compose.yml` 作为模板文件。 + `Compose` 中有两个重要的概念: * 服务 (`service`):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。 diff --git a/compose/rails.md b/compose/rails.md index 22528dd..763930a 100644 --- a/compose/rails.md +++ b/compose/rails.md @@ -30,7 +30,7 @@ gem 'rails', '4.0.2' 最后,`docker-compose.yml` 文件才是最神奇的地方。 `docker-compose.yml` 文件将把所有的东西关联起来。它描述了应用的构成(一个 web 服务和一个数据库)、每个镜像的来源(数据库运行在使用预定义的 PostgreSQL 镜像,web 应用侧将从本地目录创建)、镜像之间的连接,以及服务开放的端口。 ```yaml -version: "3" + services: db: diff --git a/compose/usage.md b/compose/usage.md index b8020ac..466225c 100644 --- a/compose/usage.md +++ b/compose/usage.md @@ -53,7 +53,7 @@ CMD ["python", "app.py"] 编写 `docker-compose.yml` 文件,这个是 Compose 使用的主模板文件。 ```yaml -version: '3' + services: web: diff --git a/compose/wordpress.md b/compose/wordpress.md index 3425dc7..99efe04 100644 --- a/compose/wordpress.md +++ b/compose/wordpress.md @@ -13,7 +13,7 @@ [`docker-compose.yml`](https://github.com/yeasy/docker_practice/blob/master/compose/demo/wordpress/docker-compose.yml) 文件将开启一个 `wordpress` 服务和一个独立的 `MySQL` 实例: ```yaml -version: "3" + services: db: diff --git a/repository/demo/docker-compose.yml b/repository/demo/docker-compose.yml index 86820de..2306d2c 100644 --- a/repository/demo/docker-compose.yml +++ b/repository/demo/docker-compose.yml @@ -1,4 +1,4 @@ -version: '3' + services: registry: diff --git a/repository/registry_auth.md b/repository/registry_auth.md index f567d27..e39167c 100644 --- a/repository/registry_auth.md +++ b/repository/registry_auth.md @@ -87,7 +87,6 @@ $ openssl x509 -req -days 750 -in "site.csr" -sha256 \ 私有仓库默认的配置文件位于 `/etc/docker/registry/config.yml`,我们先在本地编辑 `config.yml`,之后挂载到容器中。 ```yaml -version: 0.1 log: accesslog: disabled: true @@ -140,7 +139,7 @@ $ docker run --rm \ ## 编辑 `docker-compose.yml` ```yaml -version: '3' + services: registry: diff --git a/swarm_mode/demo/docker-compose.yml b/swarm_mode/demo/docker-compose.yml index 45dff12..70b611b 100644 --- a/swarm_mode/demo/docker-compose.yml +++ b/swarm_mode/demo/docker-compose.yml @@ -1,4 +1,4 @@ -version: "3" + services: wordpress: