@aybekko97

Как подключиться к базе данных изнутри docker контейнера?

Приложение который я поднял на docker контейнере не может подключиться к базе данных запущенный локально, то есть не внутри контейнера (localhost:3000)

Мой Dockerfile:
ENV APP_NAME news_admin_panel-1.0.0.zip
ENV APP_DIR news_admin_panel-1.0.0
ENV JAVA_OPTS -server -Xms128M -Xmx512M -Xss1M -XX:+CMSClassUnloadingEnabled
ENV RUN_SCRIPT news_admin_panel
ENV LOG_DIR /logs/news_admin_panel
ENV LOG_ARCHIVE_DIR /logs/archive/api

RUN mkdir -p /root/config/

#COPY ./src/main/resources/*logback.xml /root/config/
COPY ./src/main/resources/*.conf /root/config/

WORKDIR /root
COPY ./target/universal/$APP_NAME /root/
RUN unzip -q $APP_NAME
WORKDIR /root/$APP_DIR/bin
CMD chmod +x $RUN_SCRIPT
CMD ./$RUN_SCRIPT -Dconfig.file=${config} -Dlogback.configurationFile=${logback}


команда:
docker run -p 8080:8080 --env config=/root/config/application.conf news_admin_panel

А если добавить --net=host, она работает.
docker run --net=host -p 8080:8080 --env config=/root/config/application.conf news_admin_panel

Что нужно добавить в Dockerfile, чтобы при обращении к порту 3000, он обращался к тому порту, что лежит снаружи контейнера и не было нужды делать net=host
  • Вопрос задан
  • 7652 просмотра
Пригласить эксперта
Ответы на вопрос 1
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы