mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-10 11:54:37 +00:00
Use latest tools
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
version: '3'
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
我们通过使用 `Docker Compose` 来启动 `Drone`,编写 `docker-compose.yml` 文件。
|
我们通过使用 `Docker Compose` 来启动 `Drone`,编写 `docker-compose.yml` 文件。
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
version: '3'
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
默认的模板文件名称为 `docker-compose.yml`,格式为 YAML 格式。
|
默认的模板文件名称为 `docker-compose.yml`,格式为 YAML 格式。
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
version: "3" # 在 Compose V2 中,version 字段已成为可选,且推荐不再使用。
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
webapp:
|
webapp:
|
||||||
@@ -27,7 +27,7 @@ services:
|
|||||||
指定 `Dockerfile` 所在文件夹的路径(可以是绝对路径,或者相对 docker-compose.yml 文件的路径)。 `Compose` 将会利用它自动构建这个镜像,然后使用这个镜像。
|
指定 `Dockerfile` 所在文件夹的路径(可以是绝对路径,或者相对 docker-compose.yml 文件的路径)。 `Compose` 将会利用它自动构建这个镜像,然后使用这个镜像。
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
version: '3'
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
webapp:
|
webapp:
|
||||||
@@ -41,7 +41,7 @@ services:
|
|||||||
使用 `arg` 指令指定构建镜像时的变量。
|
使用 `arg` 指令指定构建镜像时的变量。
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
version: '3'
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
webapp:
|
webapp:
|
||||||
@@ -130,7 +130,7 @@ devices:
|
|||||||
解决容器的依赖、启动先后的问题。以下例子中会先启动 `redis` `db` 再启动 `web`
|
解决容器的依赖、启动先后的问题。以下例子中会先启动 `redis` `db` 再启动 `web`
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
version: '3'
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
web:
|
web:
|
||||||
@@ -352,7 +352,7 @@ network_mode: "container:[container name/id]"
|
|||||||
配置容器连接的网络。
|
配置容器连接的网络。
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
version: "3"
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
some-service:
|
some-service:
|
||||||
@@ -394,7 +394,7 @@ ports:
|
|||||||
存储敏感数据,例如 `mysql` 服务密码。
|
存储敏感数据,例如 `mysql` 服务密码。
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
version: "3.1"
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
mysql:
|
mysql:
|
||||||
@@ -474,7 +474,7 @@ volumes:
|
|||||||
如果路径为数据卷名称,必须在文件中配置数据卷。
|
如果路径为数据卷名称,必须在文件中配置数据卷。
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
version: "3"
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
my_src:
|
my_src:
|
||||||
@@ -553,7 +553,7 @@ Compose 模板文件支持动态读取主机的系统环境变量和当前目录
|
|||||||
例如,下面的 Compose 文件将从运行它的环境中读取变量 `${MONGO_VERSION}` 的值,并写入执行的指令中。
|
例如,下面的 Compose 文件将从运行它的环境中读取变量 `${MONGO_VERSION}` 的值,并写入执行的指令中。
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
version: "3"
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
db:
|
db:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
version: '3'
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
web:
|
web:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
version: "3"
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
db:
|
db:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
version: "3"
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
db:
|
db:
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ psycopg2-binary>=2.9,<3.0
|
|||||||
第三步,`docker-compose.yml` 文件将把所有的东西关联起来。它描述了应用的构成(一个 web 服务和一个数据库)、使用的 Docker 镜像、镜像之间的连接、挂载到容器的卷,以及服务开放的端口。
|
第三步,`docker-compose.yml` 文件将把所有的东西关联起来。它描述了应用的构成(一个 web 服务和一个数据库)、使用的 Docker 镜像、镜像之间的连接、挂载到容器的卷,以及服务开放的端口。
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
version: "3"
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
db:
|
db:
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ Linux 系统请使用以下介绍的方法安装。
|
|||||||
```bash
|
```bash
|
||||||
$ DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
|
$ DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
|
||||||
$ mkdir -p $DOCKER_CONFIG/cli-plugins
|
$ 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
|
```bash
|
||||||
$ docker compose version
|
$ docker compose version
|
||||||
Docker Compose version v2.40.3
|
Docker Compose version v5.0.1
|
||||||
```
|
```
|
||||||
|
|
||||||
## bash 补全命令
|
## bash 补全命令
|
||||||
|
|
||||||
```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
|
||||||
```
|
```
|
||||||
|
|
||||||
## 卸载
|
## 卸载
|
||||||
|
|||||||
@@ -10,6 +10,14 @@
|
|||||||
|
|
||||||
`Compose` 恰好满足了这样的需求。它允许用户通过一个单独的 `docker-compose.yml` 模板文件(YAML 格式)来定义一组相关联的应用容器为一个项目(project)。
|
`Compose` 恰好满足了这样的需求。它允许用户通过一个单独的 `docker-compose.yml` 模板文件(YAML 格式)来定义一组相关联的应用容器为一个项目(project)。
|
||||||
|
|
||||||
|
## 模板文件规范
|
||||||
|
|
||||||
|
Compose 模板文件采用 YAML 格式,扩展名为 `.yml` 或 `.yaml`。
|
||||||
|
|
||||||
|
> **注意**:自 Compose V2 起,`version` 字段已不再强制要求。在 Docker Compose v5 中,规范已完全不需要顶层 `version` 字段。为了保持最佳兼容性,建议不在新文件中使用该字段。
|
||||||
|
|
||||||
|
Docker Compose 默认使用 `docker-compose.yml` 作为模板文件。
|
||||||
|
|
||||||
`Compose` 中有两个重要的概念:
|
`Compose` 中有两个重要的概念:
|
||||||
|
|
||||||
* 服务 (`service`):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。
|
* 服务 (`service`):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ gem 'rails', '4.0.2'
|
|||||||
最后,`docker-compose.yml` 文件才是最神奇的地方。 `docker-compose.yml` 文件将把所有的东西关联起来。它描述了应用的构成(一个 web 服务和一个数据库)、每个镜像的来源(数据库运行在使用预定义的 PostgreSQL 镜像,web 应用侧将从本地目录创建)、镜像之间的连接,以及服务开放的端口。
|
最后,`docker-compose.yml` 文件才是最神奇的地方。 `docker-compose.yml` 文件将把所有的东西关联起来。它描述了应用的构成(一个 web 服务和一个数据库)、每个镜像的来源(数据库运行在使用预定义的 PostgreSQL 镜像,web 应用侧将从本地目录创建)、镜像之间的连接,以及服务开放的端口。
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
version: "3"
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
db:
|
db:
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ CMD ["python", "app.py"]
|
|||||||
编写 `docker-compose.yml` 文件,这个是 Compose 使用的主模板文件。
|
编写 `docker-compose.yml` 文件,这个是 Compose 使用的主模板文件。
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
version: '3'
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
web:
|
web:
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
[`docker-compose.yml`](https://github.com/yeasy/docker_practice/blob/master/compose/demo/wordpress/docker-compose.yml) 文件将开启一个 `wordpress` 服务和一个独立的 `MySQL` 实例:
|
[`docker-compose.yml`](https://github.com/yeasy/docker_practice/blob/master/compose/demo/wordpress/docker-compose.yml) 文件将开启一个 `wordpress` 服务和一个独立的 `MySQL` 实例:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
version: "3"
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
db:
|
db:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
version: '3'
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
registry:
|
registry:
|
||||||
|
|||||||
@@ -87,7 +87,6 @@ $ openssl x509 -req -days 750 -in "site.csr" -sha256 \
|
|||||||
私有仓库默认的配置文件位于 `/etc/docker/registry/config.yml`,我们先在本地编辑 `config.yml`,之后挂载到容器中。
|
私有仓库默认的配置文件位于 `/etc/docker/registry/config.yml`,我们先在本地编辑 `config.yml`,之后挂载到容器中。
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
version: 0.1
|
|
||||||
log:
|
log:
|
||||||
accesslog:
|
accesslog:
|
||||||
disabled: true
|
disabled: true
|
||||||
@@ -140,7 +139,7 @@ $ docker run --rm \
|
|||||||
## 编辑 `docker-compose.yml`
|
## 编辑 `docker-compose.yml`
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
version: '3'
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
registry:
|
registry:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
version: "3"
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
wordpress:
|
wordpress:
|
||||||
|
|||||||
Reference in New Issue
Block a user