Files
Kenny Yang 4c9e71955e refactor(docker): 重构本地开发环境配置
将通用Dockerfile重命名为Dockerfile.php以明确用途
添加PostgreSQL自定义镜像配置以支持pgvector扩展
拆分数据库初始化脚本为mysql和postgres专用版本
更新docker-compose配置以使用新的构建文件
2025-05-29 01:43:17 +08:00

110 lines
2.3 KiB
YAML

networks:
docker_network1:
driver: bridge
services:
nginx:
image: nginx:latest
container_name: nginx
restart: always
ports:
- 5080:80
- 5443:443
- 5300:5300
- 5301:5301
- 5302:5302
- 5303:5303
- 5304:5304
- 5305:5305
- 5306:5306
- 5307:5307
- 5308:5308
- 5309:5309
- 5310:5310
volumes:
- ./conf.d:/etc/nginx/conf.d
- ./nginx.conf:/etc/nginx/nginx.conf
- ./certs:/etc/nginx/certs
- ./html:/var/www/html
networks:
- docker_network1
php:
build:
context: .
dockerfile: Dockerfile.php
args:
PHP_VERSION: "8.2"
container_name: php
restart: always
volumes:
- ./html:/var/www/html
networks:
- docker_network1
php74:
build:
context: .
dockerfile: Dockerfile.php
args:
PHP_VERSION: "7.4"
container_name: php74
volumes:
- ./html:/var/www/html
networks:
- docker_network1
mysql:
image: mysql:8.0.23
container_name: mysql
restart: always
ports:
- 3306:3306
volumes:
- ./mysql/data:/var/lib/mysql
- ./mysql/conf.d:/etc/mysql/conf.d/
- ./mysql/log:/var/log/mysql
- ./mysql/conf.d/init.sql:/docker-entrypoint-initdb.d/init.sql
- /etc/localtime:/etc/localtime:ro
environment:
- MYSQL_ALLOW_EMPTY_PASSWORD=yes
- MYSQL_USER=kennyyang
- MYSQL_PASSWORD="!Ybw324!"
networks:
- docker_network1
redis:
image: redis:latest
container_name: redis
restart: always
environment:
- REDIS_PASSWORD="!Ybw324!"
- REDIS_ALLOW_REMOTE_CONNECTIONS=yes
ports:
- 6379:6379
volumes:
- ./redis:/data
- ./redis/conf/redis.conf:/usr/local/etc/redis/redis.conf
- ./redis/logs:/logs
command: ["redis-server", "/usr/local/etc/redis/redis.conf"]
networks:
- docker_network1
postgres:
build:
context: .
dockerfile: Dockerfile.postgres
container_name: postgresql
restart: always
environment:
POSTGRES_USER: kennyyang
POSTGRES_PASSWORD: "!Ybw324!"
ALLOW_IP_RANGE: "0.0.0.0/0"
ports:
- "5432:5432"
volumes:
- ./postgresql/data:/var/lib/postgresql/data
- ./postgresql/init.sql:/docker-entrypoint-initdb.d/init.sql
networks:
- docker_network1