本项目提供一个预装了多种实用插件的 PostgreSQL 17 Docker 镜像,并提供 docker-compose.yml 文件,方便一键部署。它旨在成为一个开箱即用、功能强大的数据库容器,特别适合需要中文分词、向量搜索和定时任务等现代化功能的应用场景。
postgres:17-bookworm 镜像构建。zhparser 插件(基于 SCWS 核心),提供稳定、高效的中文全文检索能力。pgvector 插件,支持在数据库中存储和查询向量数据,适用于 AI 和机器学习应用。pg_cron 插件,允许您在数据库内部直接调度定时任务和维护脚本。docker-compose.yml 文件,一键启动数据库和 pgAdmin 管理面板。本项目推荐使用 Docker Compose 进行管理,可以一键启动数据库服务和 pgAdmin 管理工具。
确保您的机器上已安装 Docker 和 Docker Compose。
version: '3.8'
services:
db:
image: howardnm/postgres-custom:latest
container_name: postgres-custom-db
restart: always
environment:
- POSTGRES_USER=admin
- POSTGRES_PASSWORD=your_super_secret_password # 请务必修改为强密码
- POSTGRES_DB=mydatabase
volumes:
- pg_data:/var/lib/postgresql/data
ports:
- "5432:5432"
networks:
- postgres-net
pgadmin:
image: dpage/pgadmin4:latest
container_name: postgres-custom-pgadmin
restart: always
environment:
- [email protected] # pgAdmin 登录邮箱
- PGADMIN_DEFAULT_PASSWORD=your_admin_password # pgAdmin 登录密码
volumes:
- pgadmin_data:/var/lib/pgadmin
ports:
- "5050:80"
depends_on:
- db
networks:
- postgres-net
volumes:
pg_data:
pgadmin_data:
networks:
postgres-net:
driver: bridge
在项目根目录下,执行以下命令即可启动所有服务。Docker Compose 会自动从 Docker Hub 拉取所需的镜像。
docker compose up -d
服务启动后,您将拥有:
localhost:5432 的 PostgreSQL 数据库实例。http://localhost:5050 的 pgAdmin 管理面板。http://localhost:5050。docker-compose.yml 中配置的 PGADMIN_DEFAULT_EMAIL 和 PGADMIN_DEFAULT_PASSWORD 登录。
[email protected]your_admin_passworddb (这是 Docker Compose 网络中的服务名)5432mydatabaseadmindocker-compose.yml 中为 POSTGRES_PASSWORD 设置的密码。docker compose down
若要同时删除持久化的数据卷(警告:此操作会删除所有数据库数据),请使用:
docker compose down -v
如果您想修改插件组合或自定义配置,可以自行构建镜像。
Dockerfile 或 scripts 目录下的初始化脚本。docker-compose.yml 文件中,将 db 服务的 image 配置项注释掉,并取消 build: . 的注释。docker compose build 来构建您自己的镜像。docker compose up -d 启动服务。Content type
Image
Digest
sha256:9fb7063f4…
Size
168.3 MB
Last updated
8 months ago
docker pull howardnm/postgres-custom