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

System Initiative PG Bouncer容器是基于轻量级PostgreSQL连接池工具PG Bouncer构建的Docker镜像,旨在简化PostgreSQL数据库连接管理。PG Bouncer通过维护数据库连接池,避免频繁创建和关闭连接带来的性能开销,有效提高数据库资源利用率和访问稳定性,适用于各类需要与PostgreSQL交互的应用场景。
pgbouncer.ini)docker run -d \ --name pg-bouncer \ -p 6432:6432 \ # PG Bouncer默认端口 -v /path/to/local/pgbouncer.ini:/etc/pgbouncer/pgbouncer.ini \ # 挂载配置文件 -v /path/to/userlist.txt:/etc/pgbouncer/userlist.txt \ # 可选:用户认证文件 --network=postgres-network \ # 若PostgreSQL在Docker网络内,指定网络 systeminit/pg-bouncer
创建docker-compose.yml文件:
version: '3.8' services: pg-bouncer: image: systeminit/pg-bouncer container_name: pg-bouncer ports: - "6432:6432" volumes: - ./pgbouncer.ini:/etc/pgbouncer/pgbouncer.ini - ./userlist.txt:/etc/pgbouncer/userlist.txt environment: - LOG_LEVEL=info # 日志级别:debug/info/warn/error - MAX_CLIENT_CONN=500 # 最大客户端连接数 depends_on: - postgres # 若PostgreSQL也在Compose中定义 restart: unless-stopped postgres: image: postgres:14 container_name: postgres environment: - POSTGRES_USER=dbuser - POSTGRES_PASSWORD=dbpass - POSTGRES_DB=appdb ports: - "5432:5432"
[databases] - 后端数据库配置
# 格式:<数据库别名> = host=<postgres_host> port=<postgres_port> dbname=<dbname> user=<user> password=<pass> appdb = host=postgres port=5432 dbname=appdb user=dbuser password=dbpass # 支持通配符匹配所有数据库 * = host=postgres port=5432
[pgbouncer] - 连接池核心配置
# 连接池模式:session/transaction/statement pool_mode = transaction # 最大客户端连接数 max_client_conn = 500 # 每个数据库的默认池大小 default_pool_size = 20 # 每个池的最小连接数(预热连接) min_pool_size = 5 # 每个池的最大溢出连接数(临时扩容) reserve_pool_size = 10 # 连接空闲超时(秒) idle_timeout = 300 # 连接生存周期(秒),超时后强制关闭重建 server_lifetime = 3600 # 日志文件路径 logfile = /var/log/pgbouncer/pgbouncer.log # 日志级别 log_level = info # 监听地址和端口 listen_addr = 0.0.0.0 listen_port = 6432 # 管理控制台用户(用于执行状态查询等操作) admin_users = postgres
| 环境变量名 | 描述 | 默认值 |
|---|---|---|
LOG_LEVEL | 日志输出级别 | info |
MAX_CLIENT_CONN | 最大客户端连接数 | 100 |
DEFAULT_POOL_SIZE | 默认池大小 | 10 |
POOL_MODE | 连接池模式 | transaction |
LISTEN_PORT | 监听端口 | 6432 |
IDLE_TIMEOUT | 连接空闲超时(秒) | 300 |
通过PG Bouncer管理控制台监控连接状态:
# 连接到管理控制台 psql -p 6432 -h localhost -U postgres pgbouncer # 查看连接池状态 pgbouncer=# show pools; # 查看客户端连接 pgbouncer=# show clients; # 查看服务器连接 pgbouncer=# show servers; # 重新加载配置 pgbouncer=# reload;
pgbouncer.ini和userlist.txt文件需确保容器内用户可读(建议权限644)default_pool_size和max_client_conn,建议default_pool_size不超过PostgreSQL的max_connections值的50%免费版仅支持 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