Files
Kenny Yang ce13de6253 refactor(docker): 重构容器配置并添加PostgreSQL支持
- 将Dockerfile重命名为Dockerfile.php以明确用途
- 新增Dockerfile.postgres用于构建带pgvector扩展的PostgreSQL镜像
- 拆分初始化SQL脚本为mysql和postgres专用版本
- 更新docker-compose配置以使用新的构建文件
- 修改init_env.sh脚本适配新的初始化文件路径

重构目的是提高配置的模块化和可维护性,同时为系统添加PostgreSQL向量搜索支持。
2025-05-29 01:47:28 +08:00

99 lines
2.2 KiB
YAML

networks:
docker_network1:
driver: bridge
services:
nginx:
image: nginx:latest
container_name: nginx
restart: always
ports:
- 80:80
- 443:443
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:
- 9306: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:
- 9379: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:
- 9332:5432
volumes:
- ./postgresql/data:/var/lib/postgresql/data
- ./postgresql/init.sql:/docker-entrypoint-initdb.d/init.sql
networks:
- docker_network1