Докер контейнер не запускает postgres сервер на Amazon Codebuild - PullRequest
0 голосов
/ 21 мая 2018

Я использую пользовательский докер-контейнер для сборки кода, контейнер интегрирован с Amazon codebuild.AWS codebuild раскручивает контейнер Docker и создает код на предоставленном нами контейнере.Dockerfile контейнера, который я написал, выглядит следующим образом -> Dockerfile

Предполагается, что в контейнере Docker установлены Java-8, Gradle-4.7 и Postgres-10.

Я запускаю контейнер Docker на локальном компьютере и вижу работающую службу Postgres.Однако в кодовой сборке AWS контейнер Docker не запускает сервер Postgres.Я попытался узнать статус Postgres с помощью команд в файле buildspec.yml и обнаружил, что он не работает.

Ниже приведена ошибка, которую я вижу в логах cloudwatch -

May 18, 2018 9:26:33 AM org.postgresql.Driver connect
SEVERE: Connection error: 
org.postgresql.util.PSQLException: Connection to localhost:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.

Кто-нибудь имеет какие-либо идеи по этому поводу?Правильный ли файл Docker?

1 Ответ

0 голосов
/ 21 мая 2018

На самом деле проблема может быть в точке входа (в упомянутом вами Dockerfile).

CodeBuild будет переопределять точку входа при каждом запуске, которая будет отличаться от той, которую вы видели бы при локальном запуске докера (вы также можете проверитьтакое поведение с локальным агентом codebuild)

"ENTRYPOINT ["/etc/init.d/postgresql", "start"]"

Можете ли вы опубликовать файл buildspec.yml?Простым исправлением для этого будет запуск команды точки входа как части вашего buildspec.yml

...