环境优化。该镜像包含完整的 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):
yamljobs: 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();"
配置示例:
yamljobs: 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();"
bashdocker pull cimg/postgres:13.2
bashdocker 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 客户端连接:
bashpsql -h localhost -U myuser -d mydb -p 5432
社区用户(无仓库写入权限)需先 Fork 仓库,再克隆(包含子模块):
bashgit clone --recurse-submodules <你的 Fork 仓库 URL> cd cimg-postgres
指定 PostgreSQL 版本生成对应 Dockerfile:
bash./shared/gen-dockerfiles.sh 13.2 # 生成 13.2 版本的 Dockerfile
生成的文件位于 ./13.2/Dockerfile。
bashcd 13.2 docker build -t test/postgres:13.2 . # 本地构建镜像 docker run -it test/postgres:13.2 bash # 启动容器并进入交互终端
使用仓库脚本批量构建镜像(需先生成 Dockerfile):
bash./build-images.sh # 构建所有生成的 Dockerfile 对应的镜像
通过 release.sh 脚本自动化发布流程(以版本 9.99 为例):
bash./shared/release.sh 9.99
该脚本会自动:
[release] 标识,触发 CircleCI 构建)./shared 子模块的变更需通过更新子模块同步:
bashcd 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 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429