如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
PostgreSQL Auto-Conf是一个在启动前自动配置PostgreSQL的镜像,旨在简化特定用户从特定网络访问PostgreSQL服务器的自动化配置流程。通过动态识别Docker网络环境,区分局域网(LAN,已连接的Docker网络)和广域网(WAN,其他网络)连接,自动生成适配的配置文件,解决手动配置网络访问控制的复杂性。
postgres.conf(运行时配置)和pg_hba.conf(主机认证配置)文件,无需手动编写。pg_hba.conf和postgres.conf配置流程,避免手动维护复杂配置文件的场景。容器启动时,入口点脚本会根据环境变量和网络环境动态生成配置文件,随后启动PostgreSQL服务。使用方式与标准PostgreSQL镜像类似,主要通过环境变量进行配置。
所有环境变量的默认值可在https://github.com/Tecnativa/docker-postgres-autoconf/blob/master/Dockerfile%E4%B8%AD%E6%9F%A5%E7%9C%8B%E3%80%82%E5%85%B3%E9%94%AE%E9%85%8D%E7%BD%AE%E5%8F%98%E9%87%8F%E5%A6%82%E4%B8%8B%EF%BC%9A
CERTS
JSON对象,用于配置TLS证书和CA,支持以下键:
client.ca.cert.pem:PostgreSQL ssl_ca_file参数的PEM内容,启用客户端证书认证(最安全的远程认证方式),客户端需使用此CA签名的证书。server.cert.pem:PostgreSQL ssl_cert_file参数的PEM内容,服务器身份标识及加密连接证书。server.key.pem:PostgreSQL ssl_key_file参数的PEM内容,服务器私钥。注意:
server.cert.pem与server.key.pem需同时提供以启用TLS;使用client.ca.cert.pem时也需同时提供服务器证书和密钥。
安全建议:优先通过挂载文件(/etc/postgres/client.ca.cert.pem、/etc/postgres/server.cert.pem、/etc/postgres/server.key.pem)传递证书,而非环境变量。
CONF_EXTRA
追加到生成的postgres.conf文件末尾的字符串,用于添加额外的PostgreSQL配置参数(如性能调优参数)。
LAN连接配置(Docker网络内)
LAN_AUTH_METHOD:LAN连接的认证方法(如trust、password、cert)。LAN_CONNECTION:允许的LAN连接类型。LAN_DATABASES:JSON数组,允许从LAN访问的数据库名称(如["db1", "db2"])。LAN_HBA_TPL:pg_hba.conf中LAN规则的模板,支持占位符(具体占位符见Dockerfile)。LAN_TLS:是否为LAN连接启用TLS(true/false)。LAN_USERS:JSON数组,允许从LAN访问的用户(如["user1", "user2"])。WAN连接配置(外部网络)
WAN_AUTH_METHOD:WAN连接的认证方法。WAN_CONNECTION:允许的WAN连接类型(若设为hostssl,需配合TLS证书生效)。WAN_DATABASES:JSON数组,允许从WAN访问的数据库名称。WAN_HBA_TPL:pg_hba.conf中WAN规则的模板,支持占位符(具体占位符见Dockerfile)。WAN_TLS:是否为WAN连接启用TLS(true/false)。WAN_USERS:JSON数组,允许从WAN访问的用户。client.ca.cert.pem时,不要使用cert认证方式。server.cert.pem和server.key.pem时,不要启用TLS。基本启动(默认配置)
bashdocker run -d --name postgres-autoconf tecnativa/postgres-autoconf
带LAN/WAN隔离与TLS的配置示例
允许LAN用户lan_user访问lan_db(trust认证),WAN用户wan_user通过password认证访问wan_db,并启用TLS:
bashdocker run -d \ --name postgres-autoconf \ -e LAN_USERS='["lan_user"]' \ -e LAN_DATABASES='["lan_db"]' \ -e LAN_AUTH_METHOD=trust \ -e WAN_USERS='["wan_user"]' \ -e WAN_DATABASES='["wan_db"]' \ -e WAN_AUTH_METHOD=password \ -e CERTS='{"server.cert.pem":"-----BEGIN CERTIFICATE...","server.key.pem":"-----BEGIN PRIVATE KEY..."}' \ tecnativa/postgres-autoconf
注:实际部署时需将
CERTS值替换为有效的PEM格式证书内容。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

来自真实用户的反馈,见证轩辕镜像的优质服务