diff --git a/local/Dockerfile b/local/Dockerfile.php similarity index 100% rename from local/Dockerfile rename to local/Dockerfile.php diff --git a/local/Dockerfile.postgres b/local/Dockerfile.postgres new file mode 100644 index 0000000..45315ec --- /dev/null +++ b/local/Dockerfile.postgres @@ -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 \ No newline at end of file diff --git a/local/docker-compose.yml b/local/docker-compose.yml index 46c0913..d76e61d 100644 --- a/local/docker-compose.yml +++ b/local/docker-compose.yml @@ -32,7 +32,7 @@ services: php: build: context: . - dockerfile: Dockerfile + dockerfile: Dockerfile.php args: PHP_VERSION: "8.2" container_name: php @@ -45,7 +45,7 @@ services: php74: build: context: . - dockerfile: Dockerfile + dockerfile: Dockerfile.php args: PHP_VERSION: "7.4" container_name: php74 @@ -91,7 +91,9 @@ services: - docker_network1 postgres: - image: postgres:14 + build: + context: . + dockerfile: Dockerfile.postgres container_name: postgresql restart: always environment: @@ -101,6 +103,7 @@ services: ports: - "5432:5432" volumes: - - ./postgresql:/var/lib/postgresql + - ./postgresql/data:/var/lib/postgresql/data + - ./postgresql/init.sql:/docker-entrypoint-initdb.d/init.sql networks: - docker_network1 diff --git a/local/init_env.sh b/local/init_env.sh index 6b57165..af6282f 100644 --- a/local/init_env.sh +++ b/local/init_env.sh @@ -66,10 +66,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/local/init.sql +wget -O /home/app/mysql/conf.d/init.sql https://raw.githubusercontent.com/shakenny/containerized-stack/refs/heads/main/local/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/local/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 diff --git a/local/init.sql b/local/init_mysql.sql similarity index 100% rename from local/init.sql rename to local/init_mysql.sql diff --git a/local/init_postgres.sql b/local/init_postgres.sql new file mode 100644 index 0000000..fa4fd87 --- /dev/null +++ b/local/init_postgres.sql @@ -0,0 +1,2 @@ +-- 自动创建vector扩展 +CREATE EXTENSION IF NOT EXISTS vector; \ No newline at end of file