Docker контейнер для вызова БД не работает с ошибкой соединения отказано - PullRequest
0 голосов
/ 12 мая 2018

Docker: инициализация базы данных не работает

У меня есть файл Docker, который устанавливает базу данных.Этот dockerfile используется в файле docker-compose.

Когда я запускаю $docker-compose up я получаю следующую ошибку:

паника: наберите tcp 172.19.0.2:5432: соединение: соединение отказано

FROM postgres:9.6 
ENV POSTGRES_PORT=5432
ENV POSTGRES_USER=abc
ENV FLYWAY_VERSION 5.0.2
RUN apt-get update && apt-get install -y wget build-essential
RUN ["mkdir", "/src"]
RUN wget -q https://repo1.maven.org/maven2/org/flywaydb/flyway-commandline/$FLYWAY_VERSION/flyway-commandline-$FLYWAY_VERSION-linux-x64.tar.gz -P /src/
RUN tar xzf /src/flyway-commandline-$FLYWAY_VERSION-linux-x64.tar.gz -C /src/ RUN chmod +x /src/flyway-$FLYWAY_VERSION/flyway
ENV PATH=${PATH}:/src/flyway-$FLYWAY_VERSION
COPY Makefile /src/ COPY migrations /docker-entrypoint-initdb.d/migrations/ COPY flyway.test.conf /docker-entrypoint-initdb.d/
COPY bin/initdb.sh /docker-entrypoint-initdb.d/
EXPOSE $POSTGRES_PORT

1 Ответ

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

После расширения образа докера postgres вам необходимо добавить точку входа в конце вашего нового Dockerfile, чтобы вы могли снова запустить службу postgres или установить ее вручную при запуске нового контейнера.

Проверяя исходный Dockerfile для Postgres 9.6, вы можете увидеть, что вам не хватает следующих строк:

ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["postgres"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...