refactor(docker): 重构容器配置并添加PostgreSQL支持

- 将Dockerfile重命名为Dockerfile.php以明确用途
- 新增Dockerfile.postgres用于构建带pgvector扩展的PostgreSQL镜像
- 拆分初始化SQL脚本为mysql和postgres专用版本
- 更新docker-compose配置以使用新的构建文件
- 修改init_env.sh脚本适配新的初始化文件路径

重构目的是提高配置的模块化和可维护性,同时为系统添加PostgreSQL向量搜索支持。
This commit is contained in:
Kenny Yang committed 2025-05-29 01:47:28 +08:00
1 parent 4c9e71955e
commit ce13de6253
6 files changed
+38 -5

No files matched your search

File renamed without changes.
+26
View File
@@ -0,0 +1,26 @@
# /home/app/Dockerfile.postgres
FROM postgres:14
# 安装构建工具
RUN apt-get update && \
apt-get install -y --no-install-recommends \
build-essential \
postgresql-server-dev-14 \
git \
ca-certificates && \
rm -rf /var/lib/apt/lists/*
# 编译安装 pgvector
RUN cd /tmp && \
git clone --branch v0.6.2 https://github.com/pgvector/pgvector.git && \
cd pgvector && \
make && \
make install && \
rm -rf /tmp/pgvector
# 清理构建工具
RUN apt-get purge -y --auto-remove \
build-essential \
postgresql-server-dev-14 \
git && \
rm -rf /var/cache/apt/archives
+7 -4
View File
@@ -21,7 +21,7 @@ services:
php:
build:
context: .
dockerfile: Dockerfile
dockerfile: Dockerfile.php
args:
PHP_VERSION: "8.2"
container_name: php
@@ -34,7 +34,7 @@ services:
php74:
build:
context: .
dockerfile: Dockerfile
dockerfile: Dockerfile.php
args:
PHP_VERSION: "7.4"
container_name: php74
@@ -80,7 +80,9 @@ services:
- docker_network1
postgres:
image: postgres:14
build:
context: .
dockerfile: Dockerfile.postgres
container_name: postgresql
restart: always
environment:
@@ -90,6 +92,7 @@ services:
ports:
- 9332:5432
volumes:
- ./postgresql:/var/lib/postgresql
- ./postgresql/data:/var/lib/postgresql/data
- ./postgresql/init.sql:/docker-entrypoint-initdb.d/init.sql
networks:
- docker_network1
+3 -1
View File
@@ -44,10 +44,12 @@ wget -O /home/app/nginx.conf https://raw.githubusercontent.com/shakenny/containe
wget -O /home/app/conf.d/default.conf https://raw.githubusercontent.com/shakenny/containerized-stack/refs/heads/main/default.conf
wget -O /home/app/mysql/conf.d/my.cnf https://raw.githubusercontent.com/shakenny/containerized-stack/refs/heads/main/my.cnf
wget -O /home/app/mysql/conf.d/init.sql https://raw.githubusercontent.com/shakenny/containerized-stack/refs/heads/main/vps/init.sql
wget -O /home/app/mysql/conf.d/init.sql https://raw.githubusercontent.com/shakenny/containerized-stack/refs/heads/main/vps/init_mysql.sql
wget -O /home/app/redis/conf/redis.conf https://raw.githubusercontent.com/redis/redis/7.2/redis.conf
wget -O /home/app/postgresql/init.sql https://raw.githubusercontent.com/shakenny/containerized-stack/refs/heads/main/vps/init_postgres.sql
# 修改Redis配置文件
sed -i "s/bind 127.0.0.1 -::1/bind 0.0.0.0/g" /home/app/redis/conf/redis.conf
sed -i "s/# requirepass foobared/requirepass \!Ybw324\!/g" /home/app/redis/conf/redis.conf
View File
File renamed without changes.
+2
View File
@@ -0,0 +1,2 @@
-- 自动创建vector扩展
CREATE EXTENSION IF NOT EXISTS vector;