跳到主要内容

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 服务。
    • mysql:
      • image: 使用 mysql:latest 镜像。
      • environment: 设置数据库的环境变量,包括数据库名称、用户名、密码等。
      • volumes:mysql-data 卷挂载到容器的 /var/lib/mysql 目录,用于持久化数据。
    • redis:
      • image: 使用 redis:latest 镜像。
      • ports: 将主机的 6379 端口映射到容器的 6379 端口。
  • volumes: 定义数据卷,用于持久化数据。

使用说明:

  1. 创建 nginx.conf 文件: 在与 docker-compose.yaml 文件相同的目录下创建一个名为 nginx.conf 的文件,并配置 Nginx 以连接到 MySQL。
  2. 运行 Docker Compose: 在终端中,导航到 docker-compose.yaml 文件所在的目录,并运行 docker-compose up -d 命令。

注意:

  • 请将 mydatabasemyusermypasswordrootpassword 替换为你自己的数据库凭据。
  • 你需要根据你的应用程序需求修改 nginx.conf 文件。