
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
这是一个运行PostGIS的Docker容器,基于https://hub.docker.com/r/kartoza/postgis/%E4%BF%AE%E6%94%B9%EF%BC%8C%E5%B0%86%E9%BB%98%E8%AE%A4%E5%8C%BA%E5%9F%9F%E8%AE%BE%E7%BD%AE%E6%9B%B4%E6%94%B9%E4%B8%BA%60cs_CZ.UTF-8%60%E3%80%82%E9%80%82%E7%94%A8%E4%BA%8E%E9%9C%80%E8%A6%81%E6%8D%B7%E5%85%8B%E8%AF%AD%E7%BC%96%E7%A0%81%E5%92%8C%E6%8E%92%E5%BA%8F%E8%A7%84%E5%88%99%E7%9A%84PostGIS%E5%BA%94%E7%94%A8%E5%9C%BA%E6%99%AF%E3%80%82
Docker Hub页面:https://hub.docker.com/r/sysnetcz/postgis/
注意:如果不需要捷克编码和排序规则,请使用原始的kartoza/postgis镜像。
对于PostGIS、Docker和QGIS的初学者,推荐参考Alex Urquhart的教程:[***]
cs_CZ.UTF-8镜像标签遵循以下命名规则:
sysnetcz/postgis:[postgres_version]-[postgis-version]
例如:sysnetcz/postgis:9.6-2.4表示包含PostgreSQL 9.6和PostGIS 2.4。
重要:强烈建议使用标签版本,因为PostgreSQL的不同小版本会将数据库集群写入不同的目录,若使用持久卷存储数据库,使用非标签版本可能导致数据库数据无法识别。
bashdocker pull sysnetcz/postgis
bashdocker build -t sysnetcz/postgis git://github.com/SYSNET-CZ/postgis
bashgit clone git://github.com/SYSNET-CZ/postgis
71-apt-cacher-ng文件,配置apt-cacher主机bashdocker build -t sysnetcz/postgis .
bashsudo docker run --name "postgis" -p 25432:5432 -d -t sysnetcz/postgis
可通过以下环境变量自定义数据库配置:
| 环境变量 | 说明 |
|---|---|
POSTGRES_USER | 数据库超级用户名,默认:docker |
POSTGRES_PASS | 数据库超级用户密码,默认:docker |
POSTGRES_DBNAME | 默认数据库名(多个数据库用逗号分隔) |
POSTGRES_MULTIPLE_EXTENSIONS | 启用的扩展,如:postgis,hstore,postgis_topology |
ALLOW_IP_RANGE | 允许连接的IP范围,默认仅允许Docker私有子网,格式如0.0.0.0/0 |
IP_LIST | PostgreSQL监听的IP地址,默认监听所有连接,格式如* |
提供便捷的docker-compose.yml,包含数据库和备份服务(基于https://github.com/kartoza/docker-pg-backup%EF%BC%89%E3%80%82%E6%9A%B4%E9%9C%B2PostgreSQL%E7%AB%AF%E5%8F%A325432%E4%BB%A5%E9%81%BF%E5%85%8D%E4%B8%8E%E6%9C%AC%E5%9C%B0%E6%95%B0%E6%8D%AE%E5%BA%93%E5%86%B2%E7%AA%81%E3%80%82
使用示例:
bashdocker-compose up -d
注意:默认配置下数据仅存储在Docker卷中,不会持久化到主机磁盘。
bashsudo apt-get install postgresql-client-9.6
bashpsql -h localhost -U docker -p 25432 -l
默认凭据:用户
docker,密码docker
使用Docker卷将数据存储在主机上:
bashmkdir -p ~/postgres_data docker run -d -v $HOME/postgres_data:/var/lib/postgresql sysnetcz/postgis
权限说明:确保
postgres_data目录具有Docker进程可读写的权限。
复制功能允许维护多个同步的数据库副本,包含一个主节点(可写)和一个或多个从节点(只读)。主节点的变更会自动同步到从节点。
主节点设置
ALLOW_IP_RANGE:允许连接的IP范围,需包含从节点地址POSTGRES_USER和POSTGRES_PASS:从节点连接主节点的凭据,建议设置为安全值从节点设置
REPLICATE_FROM:主节点的域名或IP地址REPLICATE_PORT:主节点PostgreSQL端口,默认5432DESTROY_DATABASE_ON_RESTART:重启时是否销毁数据库,默认True,设为False可保留数据PROMOTE_MASTER:设为任意值可将从节点提升为主节点(提升后无法恢复为从节点)build.sh脚本构建镜像:bash./build.sh
sample/replication目录,使用Make命令启动服务:bashmake up
bashmake down
bashmake master-log # 主节点日志 make slave-log # 从节点日志
主节点变更同步到从节点
bashmake master-shell
bashmake slave-shell
从节点提升为主节点
PROMOTE_MASTER: 'True' DESTROY_DATABASE_ON_RESTART: 'False'
防止从节点重启时数据销毁
设置DESTROY_DATABASE_ON_RESTART: 'False',并确保数据卷已持久化,从节点重启后可继续同步(无一致性冲突时)。
Radim Jaeger (***)
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 sysnetcz/postgis 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: