У меня есть контейнер Kong API Gateway и концентратор postgres, и мне нужно проверить, запущен ли и готов ли postgres из контейнера Kong, прежде чем запускать миграции. Я думал об установке клиентских утилит postgres в пользовательский образ, основанный на официальном образе Kong, используя RUN yum install postgresql -y && yum clean all
в моем Dockerfile и используя для этого либо psql
, либо pg_isready
. Я создал пользователя postgres с именем polling
с пустым паролем специально для проверки состояния сервера этими двумя утилитами. Ни один из них не работает.
Я попытался выполнить эти команды из пользовательского образа Kong:
psql. Команда
psql -h postgres -U polling -w -c '\l'
завершается ошибкойpsql: fe_sendauth: no password supplied
. Но у пользователя нет пароля. Что я делаю неправильно? Полный сценарий оболочки, проверяющий готовность сервера с помощью psql, описан здесь.pg_isready. Я не понимаю, как установить эту утилиту отдельно в пользовательский образ на основе официального образа Kong, который, в свою очередь, основан на образе
centos:7
, пакетpostgresql
не включаетpg_isready
. Устанавливаются только эти утилиты, их можно найти в/usr/bin
:pg_config
,pg_dump
,pg_dumpall
,pg_restore
,psql
. Как установитьpg_isready
? Я не хочу, чтобы в образе Kong была установлена полная установка сервера.