私はKong API Gatewayコンテナとpostgresコンテナを持っており、移行を実行する前にpostgresが起動してKongコンテナから準備ができているかどうかを確認する必要があります。私はpostgresクライアントユーティリティを、DockerfileにRUN yum install postgresql -y && yum clean all
を使用し、psql
またはpg_isready
のいずれかを使用して公式Kongイメージに基づくカスタムイメージにインストールすることを考えていました。私はこれらの2つのユーティリティによるサーバの状態を確認するために、空のパスワードを持つpolling
と呼ばれるpostgresユーザを作成しました。どちらも動作しません。Docker - postgresが用意されているかどうか確認してください
私は、カスタム香港の画像から、これらのコマンドを実行しようとしました:
PSQLを。コマンド
psql -h postgres -U polling -w -c '\l'
がエラーpsql: fe_sendauth: no password supplied
で失敗します。しかし、ユーザーにはパスワードはありません。私は間違って何をしていますか? psqlを使用してサーバが準備完了状態になっているかどうかを確認するフル・シェル・スクリプトは、hereと記述されています。pg_isready。私は
centos:7
イメージに基づいて順番に、postgresql
パッケージにはpg_isready
が含まれていない公式Kongイメージに基づいてこのユーティリティを個別にカスタムイメージにインストールする方法を取得しません。これらのユーティリティのみがインストールされており、/usr/bin
:pg_config
,pg_dump
,pg_dumpall
,pg_restore
,psql
にあります。pg_isready
のインストール方法?私はKongのイメージに完全なサーバーのインストールを望んでいません。
#1については、pg_hba.confを調整しましたか? https://dba.stackexchange.com/questions/83164/remove-password-requirement-for-user-postgres – bluescores
@bluescoresを参照してください。この設定を変更するか、クライアント上で.pgpassを追加する必要があります。後者の問題を解決しました。私は私のポーリングユーザーのパスワードを設定しなければならないことに気付かなければならない。psqlは.pgpassに関係なくパスが空であれば私に叫んだ – Sergey