本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

<[***]>
可用镜像地址:
tozd/postgresqlregistry.gitlab.com/tozd/docker/postgresqltozd/base ← tozd/dinit ← tozd/postgresql
9.3: PostgreSQL 9.39.4: PostgreSQL 9.49.5: PostgreSQL 9.59.6: PostgreSQL 9.610: PostgreSQL 1011: PostgreSQL 1112: PostgreSQL 1213: PostgreSQL 1314: PostgreSQL 1415: PostgreSQL 1516: PostgreSQL 1617: PostgreSQL 17/var/log/postgresql: 当LOG_TO_STDOUT未设置为1时,日志文件存储路径。/var/lib/postgresql: 持久化此数据卷以避免数据丢失。首次启动时可选初始化配置:
PGSQL_ROLE_1_USERNAME: 要创建的用户用户名。PGSQL_ROLE_1_PASSWORD: 创建用户的密码。PGSQL_ROLE_1_FLAGS: 用户创建时的标志,默认值为LOGIN。PGSQL_DB_1_NAME: 要创建的数据库名称。PGSQL_DB_1_OWNER: 数据库所有者的用户名,创建数据库时必须设置。PGSQL_DB_1_ENCODING: 数据库编码,默认值为UNICODE。PGSQL_DB_1_LC_COLLATE: 数据库排序规则,默认值为空。PGSQL_DB_1_LC_CTYPE: 数据库字符分类,默认值为空。PGSQL_DB_1_TEMPLATE: 创建新数据库的模板名称,默认值为DEFAULT。PGSQL_DB_1_POSTGIS: 若设置,将在数据库中安装PostGIS。其他环境变量:
LOG_TO_STDOUT: 若设置为1,日志输出到标准输出(可通过docker logs查看),而非日志数据卷。5432/tcp: PostgreSQL监听端口。提供PostgreSQL SQL服务器的Docker镜像,不同标签对应不同PostgreSQL版本。需挂载数据卷/var/lib/postgresql以避免容器重建时数据丢失,若数据卷为空,镜像将在首次启动时初始化。
扩展此镜像时,可添加脚本/etc/service/postgresql/run.initialization,该脚本将在容器启动时、初始化完成后、PostgreSQL守护进程运行前执行。
当LOG_TO_STDOUT设置为1时,镜像日志输出到标准输出和标准错误流,所有标准输出为JSON格式。
本镜像支持两种使用方式:多服务共享的数据库(需手动创建用户和数据库),或单用户/应用专用数据库(通过环境变量自动初始化)。
首次运行后,可从容器内部以管理员身份连接PostgreSQL(假设容器名为postgresql):
$ docker exec -t -i postgresql /bin/bash $ psql -U postgres postgres
创建用户:
$ createuser -U postgres -DRS -PE <用户名>
创建数据库:
$ createdb -U postgres -O <用户名> <数据库名>
安装PostGIS扩展(连接数据库后执行):
> CREATE EXTENSION postgis;
从容器外部备份数据库:
$ docker exec postgresql pg_dump -Fc -U postgres <数据库名> > /var/backups/<数据库名>.pgdump
从容器外部恢复数据库:
$ cat /var/backups/<数据库名>.pgdump | docker exec -i postgresql pg_restore -Fc -U postgres -d <数据库名>
首次启动初始化数据卷时,可通过环境变量自动创建用户和数据库。例如,启动容器时指定以下变量:
docker run -d \ --name postgres-single \ -p 5432:5432 \ -v postgres-data:/var/lib/postgresql \ -e PGSQL_ROLE_1_USERNAME=appuser \ -e PGSQL_ROLE_1_PASSWORD=apppass \ -e PGSQL_DB_1_NAME=appdb \ -e PGSQL_DB_1_OWNER=appuser \ tozd/postgresql:16
version: '3' services: postgresql: image: tozd/postgresql:16 ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql - postgres_logs:/var/log/postgresql environment: - LOG_TO_STDOUT=1 - PGSQL_ROLE_1_USERNAME=admin - PGSQL_ROLE_1_PASSWORD=securepass - PGSQL_DB_1_NAME=maindb - PGSQL_DB_1_OWNER=admin volumes: postgres_data: postgres_logs:
项目提供只读GitHub镜像,方便在GitHub上 fork 项目。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429