# DockerCompose使用
Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。它使用YAML文件来定义应用程序的服务、网络、存储卷等配置,并提供简化的命令来启动、停止和管理这些容器
# 文件示例
version: '3'
services:
web:
build: .
ports:
- 8080:80
volumes:
- ./app:/app
depends_on:
- db
db:
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=secret
- MYSQL_DATABASE=myapp
- MYSQL_USER=user
- MYSQL_PASSWORD=password
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:
# 文件结构
version
: 指定 Docker Compose 文件的版本。当前常用的版本有 1、2、2.1、3、3.1 等,每个版本支持不同的语法和功能。services
: 定义了要运行的服务列表,每个服务都有自己的配置。web
和db
是服务的名称。build
(可选): 指定 Dockerfile 的路径,用于构建镜像。在示例中,使用当前目录下的 Dockerfile 进行构建。image
(可选): 指定要使用的镜像名称。在示例中,使用官方的 MySQL 5.7 镜像。ports
(可选): 定义端口映射关系。示例中将容器内的 80 端口映射到主机的 8080 端口。volumes
(可选): 定义文件或目录的挂载关系。示例中将主机的./app
目录挂载到容器的/app
路径,以便在容器内访问该目录。depends_on
(可选): 定义服务之间的依赖关系。示例中,web
服务依赖于db
服务,确保db
服务在web
服务启动之前启动。environment
(可选): 定义容器的环境变量。示例中设置了 MySQL 的 root 密码、数据库名、用户名和密码。
volumes
: 定义命名卷,用于持久化存储数据。示例中定义了一个名为db_data
的命名卷。