【发布时间】:2018-03-12 23:56:26
【问题描述】:
我有一个 Kong API Gateway 容器和一个 postgres 容器,我需要在运行迁移之前检查 postgres 是否已从 Kong 容器启动并准备就绪。我正在考虑将 postgres 客户端实用程序安装到基于官方 Kong 映像的自定义映像中,在我的 Dockerfile 中使用 RUN yum install postgresql -y && yum clean all 并使用 psql 或 pg_isready 来实现此目的。我创建了一个名为polling 的postgres 用户,密码为空,专门用于通过这两个实用程序检查服务器的状态。它们都不起作用。
我尝试从自定义 Kong 图像执行这些命令:
psql。命令
psql -h postgres -U polling -w -c '\l'失败并出现错误psql: fe_sendauth: no password supplied。但是用户没有密码。我究竟做错了什么?使用 psql 检查服务器是否准备就绪的完整 shell 脚本描述为 here。pg_isready。我不知道如何将此实用程序单独安装到基于官方 Kong 映像的自定义映像中,该映像又基于
centos:7映像,postgresql包不包括pg_isready。仅安装了这些实用程序并且可以在/usr/bin中找到:pg_config、pg_dump、pg_dumpall、pg_restore、psql。如何安装pg_isready?我不想在 Kong 映像中安装完整的服务器。
【问题讨论】:
-
关于#1,你调整了pg_hba.conf吗?见dba.stackexchange.com/questions/83164/…
-
@bluescores 对,我需要更改此配置或在客户端上添加 .pgpass。解决了后者的问题。我应该注意到我必须为我的投票用户设置密码,如果 pass 是空的,psql 会对我大喊,不管 .pgpass
标签: postgresql docker centos kong