Я пытался связать контейнер с приложением весенней загрузки 2 с контейнером под управлением Монго, но получаю отказано в соединении
docker-compose файл, содержащий контейнер для mongo (позже мы добавим еще один контейнер для весенней загрузки)
version: '3.1'
services:
mongo:
image: mongo
container_name: springboot-mongo
ports:
- 27017:27017
volumes:
- $HOME/data/springboot-mongo-data:/data/db
- $HOME/data/springboot-mongo-bkp:/data/bkp
restart: always
Dockerfile для весенней загрузки
FROM openjdk:11
RUN apt-get update && apt-get install bash
RUN mkdir -p /opt/app
ENV PROJECT_HOME /opt/app
COPY build/libs/recipe-book.jar $PROJECT_HOME/recipe-book.jar
WORKDIR $PROJECT_HOME
CMD ["java", "-Dspring.data.mongodb.uri=mongodb://springboot-mongo:27017/recipes", "-jar","./recipe-book.jar"]
я пробовал разные способы отправки командной строки mongo uri: с localhost вместо springboot-mongo, я также пытался, как это описано здесь https://www.baeldung.com/spring-boot-command-line-arguments, более конкретно -Dspring-boot.run.arguments=--spring.data.mongodb.uri=mongodb://springboot-mongo:27017/recipes
. Каждый раз, как кажется, ударил соединение отказано.
Как я могу сделать пружинный контейнер подключенным к монго?
Спасибо
Обновление, я также попытался добавить второй контейнер в файл docker-compose, как таковой
version: '3.1'
services:
springboot:
build: .
restart: always
container_name: springboot
ports:
- 8182:8080
working_dir: /opt/app
depends_on:
- mongo
mongo:
image: mongo
container_name: springboot-mongo
ports:
- 27017:27017
volumes:
- $HOME/data/springboot-mongo-data:/data/db
- $HOME/data/springboot-mongo-bkp:/data/bkp
restart: always
обновление 2:
Мне удалось так частично решить проблему, сначала собрав изображение локально на моем компьютере, а затем используя созданное изображение внутри файла docker-compose, и имея -Dspring.data.mongodb.uri=mongodb://springboot-mongo:27017/recipes
в качестве параметра, но все же не повезло, что оно было построено непосредственно в docker-compose file