本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
环境优化。该镜像包含完整的 PostgreSQL 数据库服务及其工具链,旨在作为 CircleCI 工作流中的次要容器,为应用程序提供可靠的数据库服务支持。
此镜像的主要用途是在 CI 流程中快速部署 PostgreSQL 实例,用于应用程序的集成测试、数据迁移验证等场景,替代了旧版 circleci/postgres 镜像,提供更精简的配置和更贴合 CI 需求的优化。
包含 PostgreSQL 数据库服务器、客户端工具(psql)、备份工具(pg_dump、pg_restore)及配置管理工具,满足数据库操作全流程需求。
提供针对特定场景优化的镜像变体:
在基础 PostgreSQL 镜像上预安装 PostGIS 空间数据库扩展及其依赖(如 GEOS、PROJ、GDAL),适用于地理信息处理场景。通过在标签后添加 -postgis 标识使用,例如 cimg/postgres:13.1-postgis。
旧版 circleci/postgres 镜像提供的 RAM 变体已不再支持。CircleCI 正在评估该变体的实际性能提升效果,未来可能根据社区反馈重新引入。
采用基于 PostgreSQL 版本的标签命名,格式为:
cimg/postgres:<pg-version>
其中 <pg-version> 为具体 PostgreSQL 版本号(如 13.2),确保版本选择清晰可预测。
docker 执行器,需作为次要镜像与主应用镜像配合使用。作为次要镜像与主应用镜像配合,示例配置(YAML):
jobs: build: docker: - image: cimg/go:1.17 # 主应用镜像(此处以 Go 为例) - image: cimg/postgres:13.2 # PostgreSQL 次要镜像 steps: - checkout # 检出代码 - run: # 测试数据库连接 name: 验证 PostgreSQL 连接 command: | # 安装 psql 客户端(若主镜像未预装) sudo apt-get update && sudo apt-get install -y postgresql-client # 连接数据库(默认用户:postgres,密码:postgres,数据库名:postgres) psql -h localhost -U postgres -d postgres -c "SELECT version();"
配置示例:
jobs: build: docker: - image: cimg/python:3.9 - image: cimg/postgres:13.1-postgis # PostGIS 变体 steps: - checkout - run: name: 验证 PostGIS 安装 command: | psql -h localhost -U postgres -d postgres -c "SELECT postgis_version();"
docker pull cimg/postgres:13.2
docker run -d \ -p 5432:5432 \ -e POSTGRES_USER=myuser \ -e POSTGRES_PASSWORD=mypassword \ -e POSTGRES_DB=mydb \ --name pg-test \ cimg/postgres:13.2
环境变量说明:
POSTGRES_USER:默认数据库用户(未指定时为 postgres)。POSTGRES_PASSWORD:用户密码(未指定时为 postgres)。POSTGRES_DB:默认数据库名(未指定时与 POSTGRES_USER 同名)。通过 psql 客户端连接:
psql -h localhost -U myuser -d mydb -p 5432
社区用户(无仓库写入权限)需先 Fork 仓库,再克隆(包含子模块):
git clone --recurse-submodules <你的 Fork 仓库 URL> cd cimg-postgres
指定 PostgreSQL 版本生成对应 Dockerfile:
./shared/gen-dockerfiles.sh 13.2 # 生成 13.2 版本的 Dockerfile
生成的文件位于 ./13.2/Dockerfile。
cd 13.2 docker build -t test/postgres:13.2 . # 本地构建镜像 docker run -it test/postgres:13.2 bash # 启动容器并进入交互终端
使用仓库脚本批量构建镜像(需先生成 Dockerfile):
./build-images.sh # 构建所有生成的 Dockerfile 对应的镜像
通过 release.sh 脚本自动化发布流程(以版本 9.99 为例):
./shared/release.sh 9.99
该脚本会自动:
[release] 标识,触发 CircleCI 构建)./shared 子模块的变更需通过更新子模块同步:
cd shared && git pull && cd .. git add shared && git commit -m "更新 shared 子模块以支持 X 功能"
Dockerfile.template 后需重新生成 Dockerfile 并测试。欢迎通过 GitHub Issues 报告 bug 或提出功能请求,或通过 Pull Requests 提交代码变更。注意:
本仓库采用 MIT 许可证,详情参见 LICENSE。
本镜像使用了 docker-library/postgres 项目的 docker-entrypoint.sh 脚本。


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