CW5 发表于 2026-1-22 09:44:25

测试代码编辑

测试下帖子中添加代码效果
version: '3.8'# Compose 文件版本(建议使用 3.8,兼容性好)

# 定义所有服务
services:
# 1. Nginx 服务
nginx:
    image: nginx:alpine# 使用轻量的 alpine 版本 Nginx
    ports:
      - "8080:80"# 宿主机 8080 端口映射到容器 80 端口
    volumes:
      - ./nginx/default.conf:/etc/nginx/conf.d/default.conf# 挂载自定义 Nginx 配置
      - ./www:/var/www/html# 挂载项目代码到容器
    depends_on:
      - php# 依赖 php 服务,启动顺序:先启动 php 再启动 nginx
    networks:
      - app-network# 加入自定义网络

# 2. PHP 服务(fpm 模式,配合 Nginx)
php:
    build: ./php# 从本地 php 目录的 Dockerfile 构建镜像
    volumes:
      - ./www:/var/www/html# 共享项目代码
    depends_on:
      - mysql# 依赖 mysql 服务
    networks:
      - app-network
    environment:
      - MYSQL_HOST=mysql# 数据库主机名(对应 mysql 服务名)
      - MYSQL_USER=root
      - MYSQL_PASSWORD=123456
      - MYSQL_DATABASE=test_db

# 3. MySQL 服务
mysql:
    image: mysql:8.0
    ports:
      - "3306:3306"# 宿主机 3306 端口映射到容器
    volumes:
      - mysql-data:/var/lib/mysql# 持久化数据库数据(命名卷)
    environment:
      - MYSQL_ROOT_PASSWORD=123456# root 密码
      - MYSQL_DATABASE=test_db      # 自动创建的数据库名
    networks:
      - app-network
    restart: always# 容器异常退出时自动重启

# 定义网络(自定义桥接网络,避免端口冲突)
networks:
app-network:
    driver: bridge

# 定义数据卷(持久化数据,容器删除后数据不丢失)
volumes:
mysql-data:

页: [1]
查看完整版本: 测试代码编辑