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

官方QQ群: 13763429

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

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

pgpool Docker 镜像下载 - 轩辕镜像

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

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

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

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

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

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

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

pgpool
bitnami/pgpool

pgpool 镜像详细信息

pgpool 镜像标签列表

pgpool 镜像使用说明

pgpool 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

Bitnami提供的安全pgpool镜像,用于PostgreSQL数据库的连接池管理、负载均衡及高可用中间件。
26 收藏0 次下载activebitnami镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

pgpool 镜像详细说明

pgpool 使用指南

pgpool 配置说明

pgpool 官方文档

Bitnami Pgpool-II 镜像文档

1. 镜像概述和主要用途

1.1 关于Pgpool-II

Pgpool-II 是 PostgreSQL 的代理服务,位于 PostgreSQL 服务器与客户端之间,提供连接池、负载均衡、自动故障转移和复制管理功能。

1.2 Bitnami 镜像特点

Bitnami Pgpool-II 镜像是经过安全加固的容器化版本,基于 Bitnami Secure Images initiative,适用于开发和生产环境,提供最小化攻击面、CVE 透明度(通过 VEX/KEV)、SBOM 清单和企业级支持选项。

2. 核心功能与特性

2.1 Pgpool-II 核心功能

  • 连接池:缓存客户端连接,减少 PostgreSQL 服务器的连接开销
  • 负载均衡:将读请求分发到多个 PostgreSQL 节点,提高查询性能
  • 自动故障转移:检测主节点故障并自动提升备节点
  • 复制管理:支持 PostgreSQL 流复制配置与监控
  • 读写分离:默认将写操作路由至主节点,读操作分发至备节点

2.2 Bitnami 镜像增强特性

  • 安全加固:基于 Photon Linux 最小化操作系统,减少攻击面
  • 非 root 运行:容器以非特权用户启动,符合生产环境安全最佳实践
  • 供应链安全:提供 SLSA-3 合规的构建流程、SBOM 清单和漏洞扫描报告
  • 配置灵活性:支持通过环境变量、自定义配置文件和初始化脚本定制部署
  • TLS 加密:内置 TLS 支持,保护客户端与代理间的通信安全

3. 使用场景和适用范围

3.1 典型应用场景

  • PostgreSQL 高可用集群:通过自动故障转移确保服务连续性
  • 读写分离架构:将读请求分发到备节点,提升查询吞吐量
  • 多节点管理:统一管理多个 PostgreSQL 实例,简化客户端连接配置
  • 开发/测试环境:快速部署包含代理层的 PostgreSQL 集群原型

3.2 适用用户

  • 需要构建高可用 PostgreSQL 服务的企业用户
  • 追求性能优化(如读写分离)的应用开发者
  • 关注容器安全与供应链完整性的 DevOps 团队

4. 重要通知:Bitnami 镜像目录变更

自 2025 年 8 月 28 日起,Bitnami 将调整公共镜像目录策略:

  • 镜像迁移:现有所有容器镜像(包括历史版本标签,如 2.50.0、10.6)将从 docker.io/bitnami 迁移至 docker.io/bitnamilegacy 仓库,且不再接收更新
  • 版本支持:免费 tier 将仅提供安全加固的 "latest" 标签镜像(用于开发目的),非加固 Debian 基础镜像将逐步弃用
  • 生产环境建议:生产工作负载推荐使用 Bitnami Secure Images,包含硬化容器、CVE 透明度和长期支持

详情参见 Bitnami Secure Images 公告。

5. 获取镜像

5.1 拉取最新镜像

docker pull bitnami/pgpool:latest

5.2 指定版本拉取

查看 Docker Hub 标签列表 获取可用版本,格式为:

docker pull bitnami/pgpool:[TAG]

5.3 本地构建(可选)

git clone [***]
cd containers/bitnami/pgpool/[VERSION]/[DISTRO]
docker build -t bitnami/pgpool:latest .

6. 快速启动

6.1 单节点快速运行

docker run --name pgpool bitnami/pgpool:latest

默认凭据和配置选项见 环境变量 部分。

7. 部署示例

7.1 使用 Docker 命令行部署 HA 集群

步骤 1:创建网络

docker network create my-network --driver bridge

步骤 2:启动 PostgreSQL 后端节点(使用 repmgr 实现复制)

# 主节点 pg-0
docker run --detach --name pg-0 \
  --network my-network \
  --env REPMGR_PARTNER_NODES=pg-0,pg-1 \
  --env REPMGR_NODE_NAME=pg-0 \
  --env REPMGR_NODE_NETWORK_NAME=pg-0 \
  --env REPMGR_PRIMARY_HOST=pg-0 \
  --env REPMGR_PASSWORD=repmgrpass \
  --env POSTGRESQL_POSTGRES_PASSWORD=adminpassword \
  --env POSTGRESQL_USERNAME=customuser \
  --env POSTGRESQL_PASSWORD=custompassword \
  --env POSTGRESQL_DATABASE=customdatabase \
  bitnami/postgresql-repmgr:latest

# 备节点 pg-1
docker run --detach --name pg-1 \
  --network my-network \
  --env REPMGR_PARTNER_NODES=pg-0,pg-1 \
  --env REPMGR_NODE_NAME=pg-1 \
  --env REPMGR_NODE_NETWORK_NAME=pg-1 \
  --env REPMGR_PRIMARY_HOST=pg-0 \
  --env REPMGR_PASSWORD=repmgrpass \
  --env POSTGRESQL_POSTGRES_PASSWORD=adminpassword \
  --env POSTGRESQL_USERNAME=customuser \
  --env POSTGRESQL_PASSWORD=custompassword \
  --env POSTGRESQL_DATABASE=customdatabase \
  bitnami/postgresql-repmgr:latest

步骤 3:启动 Pgpool-II 代理

docker run --detach --name pgpool \
  --network my-network \
  -p 5432:5432 \
  --env PGPOOL_BACKEND_NODES=0:pg-0:5432,1:pg-1:5432 \
  --env PGPOOL_SR_CHECK_USER=customuser \
  --env PGPOOL_SR_CHECK_PASSWORD=custompassword \
  --env PGPOOL_ENABLE_LDAP=no \
  --env PGPOOL_POSTGRES_USERNAME=postgres \
  --env PGPOOL_POSTGRES_PASSWORD=adminpassword \
  --env PGPOOL_ADMIN_USERNAME=admin \
  --env PGPOOL_ADMIN_PASSWORD=adminpassword \
  bitnami/pgpool:latest

步骤 4:验证连接

docker run -it --rm \
  --network my-network \
  bitnami/postgresql:latest \
  psql -h pgpool -U customuser -d customdatabase

7.2 使用 Docker Compose 部署 HA 集群

创建 docker-compose.yml 文件:

version: '2'

networks:
  my-network:
    driver: bridge

services:
  pg-0:
    image: bitnami/postgresql-repmgr:latest
    volumes:
      - pg_0_data:/bitnami/postgresql
    environment:
      - POSTGRESQL_POSTGRES_PASSWORD=adminpassword
      - POSTGRESQL_USERNAME=customuser
      - POSTGRESQL_PASSWORD=custompassword
      - POSTGRESQL_DATABASE=customdatabase
      - REPMGR_PASSWORD=repmgrpassword
      - REPMGR_PRIMARY_HOST=pg-0
      - REPMGR_PARTNER_NODES=pg-0,pg-1
      - REPMGR_NODE_NAME=pg-0
      - REPMGR_NODE_NETWORK_NAME=pg-0

  pg-1:
    image: bitnami/postgresql-repmgr:latest
    volumes:
      - pg_1_data:/bitnami/postgresql
    environment:
      - POSTGRESQL_POSTGRES_PASSWORD=adminpassword
      - POSTGRESQL_USERNAME=customuser
      - POSTGRESQL_PASSWORD=custompassword
      - POSTGRESQL_DATABASE=customdatabase
      - REPMGR_PASSWORD=repmgrpassword
      - REPMGR_PRIMARY_HOST=pg-0
      - REPMGR_PARTNER_NODES=pg-0,pg-1
      - REPMGR_NODE_NAME=pg-1
      - REPMGR_NODE_NETWORK_NAME=pg-1

  pgpool:
    image: bitnami/pgpool:latest
    ports:
      - 5432:5432
    environment:
      - PGPOOL_BACKEND_NODES=0:pg-0:5432,1:pg-1:5432
      - PGPOOL_SR_CHECK_USER=customuser
      - PGPOOL_SR_CHECK_PASSWORD=custompassword
      - PGPOOL_ENABLE_LDAP=no
      - PGPOOL_POSTGRES_USERNAME=postgres
      - PGPOOL_POSTGRES_PASSWORD=adminpassword
      - PGPOOL_ADMIN_USERNAME=admin
      - PGPOOL_ADMIN_PASSWORD=adminpassword
    healthcheck:
      test: ["CMD", "/opt/bitnami/scripts/pgpool/healthcheck.sh"]
      interval: 10s
      timeout: 5s
      retries: 5

volumes:
  pg_0_data:
    driver: local
  pg_1_data:
    driver: local

启动集群:

docker-compose up -d

8. 配置说明

8.1 初始化自定义脚本

容器启动时会自动执行 /docker-entrypoint-initdb.d 目录下所有 .sh 脚本。通过挂载卷添加自定义脚本:

# docker-compose.yml 示例片段
services:
  pgpool:
    image: bitnami/pgpool:latest
    volumes:
      - /path/to/init-scripts:/docker-entrypoint-initdb.d  # 本地脚本目录挂载

8.2 启用 TLS 加密

通过环境变量配置 TLS:

  • PGPOOL_ENABLE_TLS=yes:启用 TLS
  • PGPOOL_TLS_CERT_FILE:证书文件路径
  • PGPOOL_TLS_KEY_FILE:私钥文件路径
  • PGPOOL_TLS_CA_FILE(可选):CA 证书路径(用于客户端认证)

示例 docker run 命令:

docker run \
  -v /path/to/certs:/opt/bitnami/pgpool/certs \
  -e PGPOOL_ENABLE_TLS=yes \
  -e PGPOOL_TLS_CERT_FILE=/opt/bitnami/pgpool/certs/postgres.crt \
  -e PGPOOL_TLS_KEY_FILE=/opt/bitnami/pgpool/certs/postgres.key \
  bitnami/pgpool:latest

8.3 自定义配置文件

通过环境变量指定自定义配置文件覆盖默认配置:

  • PGPOOL_USER_CONF_FILE:自定义主配置文件路径(追加到默认配置)
  • PGPOOL_USER_HBA_FILE:自定义 host-based 认证配置文件路径(覆盖默认 HBA 配置)

示例:

# docker-compose.yml 示例片段
services:
  pgpool:
    environment:
      - PGPOOL_USER_CONF_FILE=/config/myconf.conf
      - PGPOOL_USER_HBA_FILE=/config/myhbaconf.conf
    volumes:
      - /path/to/myconf.conf:/config/myconf.conf
      - /path/to/myhbaconf.conf:/config/myhbaconf.conf

8.4 重新附加节点

当后端节点恢复后,需手动重新附加到 Pgpool:

  1. 进入 Pgpool 容器:docker exec -it pgpool bash
  2. 连接 Pgpool 管理接口:PGPASSWORD=$PGPOOL_ADMIN_PASSWORD pcp_connect -h localhost -U $PGPOOL_ADMIN_USERNAME
  3. 查看节点状态:show pool_nodes;(获取节点 ID)
  4. 附加节点:pcp_attach_node -h localhost -U $PGPOOL_ADMIN_USERNAME <node_id>

9. 环境变量

9.1 核心配置变量

环境变量名称描述默认值
PGPOOL_PORT_NUMBERPgpool 服务端口5432
PGPOOL_BACKEND_NODES后端 PostgreSQL 节点列表,格式:id:hostname:port[,id:hostname:port]-
PGPOOL_SR_CHECK_USER流复制检查用户-
PGPOOL_SR_CHECK_PASSWORD流复制检查用户密码-
PGPOOL_ADMIN_USERNAMEPCP 管理接口用户名admin
PGPOOL_ADMIN_PASSWORDPCP 管理接口密码-
PGPOOL_ENABLE_LOAD_BALANCING是否启用负载均衡yes
PGPOOL_MAX_POOL最大连接池数量15

9.2 高级配置变量

环境变量名称描述默认值
PGPOOL_ENABLE_TLS是否启用 TLS 加密no
PGPOOL_HEALTH_CHECK_PERIOD健康检查周期(秒)30
PGPOOL_HEALTH_CHECK_TIMEOUT健康检查超时(秒)10
PGPOOL_CONNECT_TIMEOUT连接超时(毫秒)10000
PGPOOL_DISABLE_LOAD_BALANCE_ON_WRITE写操作时是否禁用负载均衡transaction

注意:完整环境变量列表请参见 官方文档。

10. Kubernetes 部署

推荐使用 Bitnami Helm Chart 部署到 Kubernetes,详情参见 PostgreSQL HA Chart。

11. 注意事项

  • 生产环境建议:使用 Bitnami Secure Images 并启用 TLS 加密
  • 数据持久化:通过卷挂载持久化 PostgreSQL 数据(如示例中 pg_0_data 卷)
  • 版本迁移:2025 年 8 月 28 日后,历史版本镜像将迁移至 docker.io/bitnamilegacy 仓库,建议定期更新 latest 标签或迁移至 Secure Images
  • 非 root 容器:镜像默认以非 root 用户运行,提升安全性,避免挂载特权路径
查看更多 pgpool 相关镜像 →

常见问题

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

免费版仅支持 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.