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
和 backend
,web
服务连接到 frontend
网络,而 db
服务连接到 backend
网络。5. ports
指定端口映射,用于将主机端口映射到容器端口。
这个示例将主机的
8080
端口映射到容器的 80
端口。6. environment
设置环境变量,通常用于服务的配置。
7. depends_on
指定服务的依赖关系,确保某个服务在另一个服务之前启动。
在这个示例中,
web
服务依赖于 db
服务,db
会先启动。8. build
如果需要从 Dockerfile 构建镜像,可以使用
build
指定 Dockerfile 的路径。这个示例从当前目录中的 Dockerfile 构建镜像。
9. restart
设置服务的重启策略,确保服务在失败后自动重启。
可选值包括:
no
、always
、on-failure
、unless-stopped
。10. command
指定服务启动时要执行的命令。
示例完整 docker-compose.yml
文件
- Author:Gweek
- URL:https://www.myla.eu.org/article/docker-compose
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!