轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
bitnamicharts/postgresql
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

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

postgresql Docker 镜像下载 - 轩辕镜像

postgresql 镜像详细信息和使用指南

postgresql 镜像标签列表和版本信息

postgresql 镜像拉取命令和加速下载

postgresql 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

postgresql
bitnamicharts/postgresql

postgresql 镜像详细信息

postgresql 镜像标签列表

postgresql 镜像使用说明

postgresql 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

Bitnami的PostgreSQL Helm chart,用于在Kubernetes环境中便捷部署和管理PostgreSQL数据库,支持灵活配置与可靠运行。
5 收藏0 次下载activebitnamicharts镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

postgresql 镜像详细说明

postgresql 使用指南

postgresql 配置说明

postgresql 官方文档

Bitnami PostgreSQL 镜像文档

镜像概述和主要用途

PostgreSQL(简称Postgres)是一款开源对象关系型数据库,以可靠性和数据完整性著称。它符合ACID标准,支持外键、连接、视图、触发器和存储过程。Bitnami PostgreSQL镜像为PostgreSQL提供了预配置、随时可用的容器化部署方案,优化了安全性和易用性,适用于开发、测试和生产环境。

PostgreSQL 官方概述

商标说明:本软件列表由Bitnami打包。所提及的商标分属各自公司所有,使用这些商标不意味着任何关联或背书。

核心功能和特性

  • ACID合规:确保事务的原子性、一致性、隔离性和持久性
  • 高可用性:支持主从复制架构,可部署为高可用集群(参见postgresql-ha 仓库)
  • 安全加固:默认以非root用户运行,遵循容器安全最佳实践
  • 灵活认证:支持内置认证及LDAP集成
  • 数据加密:支持TLS加密连接
  • 监控集成:内置Prometheus指标导出器(postgres_exporter)
  • 自定义配置:支持通过配置文件或环境变量自定义postgresql.conf和pg_hba.conf
  • 持久化存储:支持数据持久化,兼容Docker卷和Kubernetes PV
  • 密码管理:提供自动密码更新机制,支持通过作业或手动更新密码
  • 网络策略:支持Kubernetes网络策略,限制Pod间通信
  • 多版本支持:可通过镜像标签指定不同PostgreSQL版本

使用场景和适用范围

适用场景

  • 开发环境:快速搭建独立PostgreSQL实例,用于应用开发和测试
  • 测试环境:部署主从复制架构,验证应用在读写分离场景下的表现
  • 生产环境:搭配Bitnami Secure Images(需商业许可),用于生产级数据库部署,提供安全加固和长期支持

适用范围

  • 需要可靠关系型数据库的应用系统
  • 对数据完整性和事务支持有要求的业务场景
  • 需在Kubernetes或Docker环境中快速部署PostgreSQL的用户
  • 要求符合安全标准(如非root运行、最小权限)的部署环境

快速开始

Docker 快速启动

# 简单启动(非持久化,仅用于测试)
docker run --name postgresql -e POSTGRES_PASSWORD=mysecretpassword -p 5432:5432 bitnami/postgresql:latest

# 持久化启动(数据保存在宿主机目录)
docker run --name postgresql \
  -e POSTGRES_PASSWORD=mysecretpassword \
  -e POSTGRES_USER=myuser \
  -e POSTGRES_DB=mydb \
  -v /path/on/host:/bitnami/postgresql \
  -p 5432:5432 \
  bitnami/postgresql:latest

Docker Compose 部署

version: '3'

services:
  postgresql:
    image: bitnami/postgresql:latest
    ports:
      - "5432:5432"
    environment:
      - POSTGRES_PASSWORD=mysecretpassword
      - POSTGRES_USER=myuser
      - POSTGRES_DB=mydb
      - POSTGRES_INITDB_ARGS=--encoding=UTF8
    volumes:
      - postgresql_data:/bitnami/postgresql
    networks:
      - postgres_network

networks:
  postgres_network:
    driver: bridge

volumes:
  postgresql_data:
    driver: local

⚠️ 重要通知:Bitnami 镜像仓库即将变更

自2025年8月28日起,Bitnami将升级其公共镜像仓库,通过新的Bitnami Secure Images计划提供精选的加固、安全聚焦镜像。此次变更包括:

  • 首次向社区用户开放热门容器镜像的安全优化版本
  • Bitnami将逐步弃用免费 tier 中的非加固Debian基础镜像,并从公共仓库中移除非最新标签。社区用户将只能访问数量减少的加固镜像,且仅发布为“latest”标签,适用于开发用途
  • 自8月28日起,两周内所有现有容器镜像(包括旧版本标签,如2.50.0、10.6)将从公共仓库(docker.io/bitnami)迁移至“Bitnami Legacy”仓库(docker.io/bitnamilegacy),且不再接收更新
  • 对于生产工作负载和长期支持,建议采用Bitnami Secure Images,包括加固容器、更小攻击面、CVE透明度(通过VEX/KEV)、SBOM和企业支持

这些变更旨在通过推广软件供应链完整性最佳实践和最新部署,提升所有Bitnami用户的安全态势。更多详情参见Bitnami Secure Images公告。

详细使用方法和配置说明

前提条件

  • Docker 20.10+ 或 Kubernetes 1.23+(如使用Helm部署)
  • Helm 3.8.0+(如使用Helm部署)
  • 持久化存储支持(开发环境可忽略,生产环境必需)

基础部署(Docker)

基本配置

docker run --name postgresql \
  -e POSTGRES_PASSWORD=StrongPassword123 \  # 数据库管理员密码
  -e POSTGRES_USER=appuser \                # 应用数据库用户
  -e POSTGRES_DB=appdb \                    # 应用数据库名称
  -e POSTGRES_INITDB_ARGS="--auth-host=scram-sha-256" \  # 初始化参数
  -p 5432:5432 \                            # 端口映射
  -v postgres_data:/bitnami/postgresql \    # 持久化卷
  bitnami/postgresql:latest

环境变量说明

环境变量描述默认值
POSTGRES_PASSWORDpostgres管理员密码随机生成
POSTGRES_USER应用数据库用户名postgres
POSTGRES_DB初始数据库名称与POSTGRES_USER相同
POSTGRES_INITDB_ARGSinitdb命令额外参数""
ALLOW_EMPTY_PASSWORD是否允许空密码(仅开发环境)no
REPLICATION_MODE复制模式(master/slave)""
REPLICATION_USER复制用户名称repl_user
REPLICATION_PASSWORD复制用户密码随机生成

持久化存储配置

PostgreSQL数据默认存储在容器内/bitnami/postgresql路径。为确保数据持久化,需挂载宿主机目录或Docker卷:

# 使用宿主机目录
docker run --name postgresql \
  -e POSTGRES_PASSWORD=mysecretpassword \
  -v /host/path/to/postgres/data:/bitnami/postgresql \
  bitnami/postgresql:latest

# 使用Docker命名卷(推荐)
docker volume create postgres_data
docker run --name postgresql \
  -e POSTGRES_PASSWORD=mysecretpassword \
  -v postgres_data:/bitnami/postgresql \
  bitnami/postgresql:latest

主从复制配置

启动主节点

docker run --name postgresql-master \
  -e POSTGRES_PASSWORD=masterpassword \
  -e REPLICATION_MODE=master \
  -e REPLICATION_USER=repluser \
  -e REPLICATION_PASSWORD=replpassword \
  -v master_data:/bitnami/postgresql \
  --network postgres-net \
  bitnami/postgresql:latest

启动从节点

docker run --name postgresql-slave \
  -e POSTGRES_PASSWORD=masterpassword \  # 需与主节点相同
  -e REPLICATION_MODE=slave \
  -e REPLICATION_USER=repluser \
  -e REPLICATION_PASSWORD=replpassword \
  -e REPLICATION_HOST=postgresql-master \  # 主节点容器名称或IP
  -e REPLICATION_PORT=5432 \
  -v slave_data:/bitnami/postgresql \
  --network postgres-net \
  bitnami/postgresql:latest

自定义配置

通过环境变量扩展配置

使用POSTGRESQL_EXTRA_FLAGS添加运行时参数:

docker run --name postgresql \
  -e POSTGRES_PASSWORD=mysecretpassword \
  -e POSTGRESQL_EXTRA_FLAGS="-c max_connections=200 -c shared_buffers=256MB" \
  bitnami/postgresql:latest

通过配置文件自定义

挂载自定义postgresql.conf或pg_hba.conf:

docker run --name postgresql \
  -e POSTGRES_PASSWORD=mysecretpassword \
  -v /host/path/to/postgresql.conf:/opt/bitnami/postgresql/conf/postgresql.conf \
  -v /host/path/to/pg_hba.conf:/opt/bitnami/postgresql/conf/pg_hba.conf \
  bitnami/postgresql:latest

LDAP集成

启用LDAP认证需配置以下环境变量:

docker run --name postgresql \
  -e POSTGRES_PASSWORD=mysecretpassword \
  -e LDAP_ENABLED=true \
  -e LDAP_URI=ldap://ldap-server:389 \          # LDAP服务器URI
  -e LDAP_BASE=dc=example,dc=org \             # LDAP基础DN
  -e LDAP_BINDDN=cn=admin,dc=example,dc=org \  # 绑定DN
  -e LDAP_BINDPW=ldapadminpassword \           # 绑定密码
  -e LDAP_SCOPE=sub \                          # 搜索范围
  bitnami/postgresql:latest

TLS加密配置

  1. 创建TLS证书(自签名示例):
openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 \
  -keyout server.key -out server.crt \
  -subj "/CN=postgresql.example.com"
  1. 启动带TLS的PostgreSQL:
docker run --name postgresql \
  -e POSTGRES_PASSWORD=mysecretpassword \
  -e TLS_ENABLED=true \
  -v $(pwd)/server.crt:/opt/bitnami/postgresql/certs/server.crt \
  -v $(pwd)/server.key:/opt/bitnami/postgresql/certs/server.key \
  -e TLS_CERT_FILE=/opt/bitnami/postgresql/certs/server.crt \
  -e TLS_KEY_FILE=/opt/bitnami/postgresql/certs/server.key \
  bitnami/postgresql:latest

监控集成(Prometheus)

启用Prometheus指标导出器:

docker run --name postgresql \
  -e POSTGRES_PASSWORD=mysecretpassword \
  -e METRICS_ENABLED=true \                  # 启用指标
  -e METRICS_EXPORTER_USER=exporter \        # 指标用户
  -e METRICS_EXPORTER_PASSWORD=exporterpass \# 指标用户密码
  -p 5432:5432 -p 9187:9187 \                # 暴露指标端口(9187)
  bitnami/postgresql:latest

指标可通过http://localhost:9187/metrics访问。

Kubernetes部署(Helm)

前提条件

  • Kubernetes 1.23+
  • Helm 3.8.0+
  • PV供应器支持

安装命令

helm install my-postgres oci://registry-1.docker.io/bitnamicharts/postgresql \
  --set auth.postgresPassword=StrongPassword123 \
  --set primary.persistence.size=10Gi \
  --set metrics.enabled=true

主要Helm参数

参数描述默认值
auth.postgresPasswordpostgres管理员密码随机生成
auth.username应用用户名postgres
primary.persistence.size主节点PVC大小8Gi
readReplicas.replicaCount从节点数量1
metrics.enabled是否启用Prometheus指标false
tls.enabled是否启用TLSfalse

备份与恢复

Docker环境备份

# 备份数据库
docker exec postgresql pg_dump -U postgres appdb > backup.sql

# 恢复数据库
cat backup.sql | docker exec -i postgresql psql -U postgres -d appdb

Kubernetes环境备份

使用Velero工具备份PV数据:

# 备份PostgreSQL命名空间
velero backup create postgres-backup --include-namespaces postgres

# 恢复到目标集群
velero restore create --from-backup postgres-backup

与官方PostgreSQL镜像的区别

特性Bitnami镜像Docker官方镜像
用户权限默认非root用户运行root用户运行
复制支持内置主从复制配置需手动配置
安全加固符合容器安全最佳实践(非root、最小权限)基础配置,需手动加固
OpenShift兼容性支持(自动调整权限)需额外配置
配置灵活性丰富的环境变量和配置选项基础环境变量支持

升级与迁移

镜像升级

# 停止旧容器
docker stop postgresql

# 备份数据(关键步骤)
docker run --rm -v postgres_data:/source -v $(pwd):/backup alpine tar -czf /backup/postgres_backup.tar.gz -C /source .

# 启动新版本容器
docker run --name postgresql-new \
  -e POSTGRES_PASSWORD=mysecretpassword \
  -v postgres_data:/bitnami/postgresql \
  bitnami/postgresql:16  # 指定新版本标签

# 验证后重命名
docker rm postgresql && docker rename postgresql-new postgresql

版本迁移注意事项

  • 跨大版本升级(如13→14)需使用pg_upgrade工具
  • 迁移前务必备份数据
  • 从Legacy仓库(docker.io/bitnamilegacy)迁移时,需更新镜像仓库地址为bitnami/postgresql

常见问题

1. 容器启动失败,日志显示权限错误?

Bitnami镜像默认使用非root用户(UID 1001),挂载宿主机目录时需确保权限正确:

chown -R 1001:1001 /host/path/to/postgres/data

2. 如何禁用非必要功能以减小攻击面?

生产环境建议:

  • 禁用空密码:ALLOW_EMPTY_PASSWORD=no
  • 启用TLS加密:配置TLS_ENABLED=true
  • 限制网络访问:通过Docker网络或Kubernetes NetworkPolicy控制流量

3. OpenShift环境部署注意事项?

OpenShift 4.11+:

helm install my-postgres oci://registry-1.docker.io/bitnamicharts/postgresql \
  --set primary.podSecurityContext.fsGroup=null \
  --set primary.containerSecurityContext.runAsUser=null \
  --set volumePermissions.enabled=false

生产环境建议

  • 使用Bitnami Secure Images(需商业许可),获取加固容器和长期支持
  • 启用持久化存储并定期备份
  • 配置主从复制实现高可用
  • 启用TLS加密所有数据库连接
  • 定期更新镜像以修复安全漏洞
  • 使用监控工具(如Prometheus+Grafana)监控数据库性能和健康状态
查看更多 postgresql 相关镜像 →
bitnami/postgresql logo
bitnami/postgresql
by VMware
认证
Bitnami PostgreSQL安全镜像是一款专为PostgreSQL数据库设计的预配置、安全强化型容器镜像,集成自动更新的安全补丁、最小化攻击面架构、合规性验证工具及行业最佳安全实践,旨在简化数据库部署流程,同时保障数据存储与访问的安全性、稳定性及可靠性,适用于企业级应用场景下高效、安全的数据库环境搭建。
3611B+ pulls
上次更新:2 天前
manageiq/postgresql logo
manageiq/postgresql
by manageiq
基于CentOS构建的PostgreSQL容器,专为ManageIQ平台设计,提供可靠的后端数据库服务支持。
1M+ pulls
上次更新:19 小时前
islandora/postgresql logo
islandora/postgresql
by islandora
开源关系型数据库。
10K+ pulls
上次更新:2 天前

常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 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 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.