type
status
date
slug
summary
tags
category
icon
password
Docker Compose 是一种用于定义和运行多容器 Docker 应用程序的工具。它使用 docker-compose.yml 文件来描述容器的配置。在 docker-compose.yml 文件中,主要包含以下元素:

1. version

指定 Compose 文件的版本,常用的版本是 "3"。版本不同可能影响一些指令的使用。

2. services

定义服务的关键部分。每个服务表示一个容器,服务的配置项包括镜像、环境变量、端口映射等。各个服务可以相互通信。
 
以上示例中定义了两个服务:
  • web: 使用 Nginx 镜像并将主机的 80 端口映射到容器的 80 端口。
  • db: 使用 MySQL 5.7 镜像,并设置根密码。

3. volumes

用于将主机目录或文件挂载到容器中,或者创建 Docker 管理的持久存储。
这个示例将主机的 ./web_data 目录挂载到容器的 /var/www/html 目录。

4. networks

定义网络使服务之间可以进行通信。Compose 可以自动创建默认网络,但你也可以手动定义。
这个示例定义了两个网络 frontend 和 backendweb 服务连接到 frontend 网络,而 db 服务连接到 backend 网络。

5. ports

指定端口映射,用于将主机端口映射到容器端口。
这个示例将主机的 8080 端口映射到容器的 80 端口。

6. environment

设置环境变量,通常用于服务的配置。

7. depends_on

指定服务的依赖关系,确保某个服务在另一个服务之前启动。
在这个示例中,web 服务依赖于 db 服务,db 会先启动。

8. build

如果需要从 Dockerfile 构建镜像,可以使用 build 指定 Dockerfile 的路径。
这个示例从当前目录中的 Dockerfile 构建镜像。

9. restart

设置服务的重启策略,确保服务在失败后自动重启。
可选值包括:noalwayson-failureunless-stopped

10. command

指定服务启动时要执行的命令。

示例完整 docker-compose.yml 文件

Windows Server 2008 R2 安全设置Docker Compose写法图解
  • Twikoo