docker-compose.yaml示例
这是一个包含 Nginx、MySQL 和 Redis 的 docker-compose.yaml
文件示例:
version: '3.7'
services:
web:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
depends_on:
- mysql
mysql:
image: mysql:latest
environment:
MYSQL_DATABASE: mydatabase
MYSQL_USER: myuser
MYSQL_PASSWORD: mypassword
MYSQL_ROOT_PASSWORD: rootpassword
volumes:
- mysql-data:/var/lib/mysql
redis:
image: redis:latest
ports:
- "6379:6379"
volumes:
mysql-data:
说明:
- version: 指定 Docker Compose 文件的版本。
- services: 定义要运行的服务。
- web:
- image: 使用
nginx:latest
镜像。 - ports: 将主机的 80 端口映射到容器的 80 端口。
- volumes: 将本地的
nginx.conf
文件挂载到容器的/etc/nginx/conf.d/default.conf
,并设置为只读。 - depends_on: 确保在启动
web
服务之前启动mysql
服务。
- image: 使用
- mysql:
- image: 使用
mysql:latest
镜像。 - environment: 设置数据库的环境变量,包括数据库名称、用户名、密码等。
- volumes: 将
mysql-data
卷挂载到容器的/var/lib/mysql
目录,用于持久化数据。
- image: 使用
- redis:
- image: 使用
redis:latest
镜像。 - ports: 将主机的 6379 端口映射到容器的 6379 端口。
- image: 使用
- web:
- volumes: 定义数据卷,用于持久化数据。
使用说明:
- 创建
nginx.conf
文件: 在与docker-compose.yaml
文件相同的目录下创建一个名为nginx.conf
的文件,并配置 Nginx 以连接到 MySQL。 - 运行 Docker Compose: 在终端中,导航到
docker-compose.yaml
文件所在的目录,并运行docker-compose up -d
命令。
注意:
- 请将
mydatabase
、myuser
、mypassword
和rootpassword
替换为你自己的数据库凭据。 - 你需要根据你的应用程序需求修改
nginx.conf
文件。