Ошибка при подключении к серверу монго из весеннего загрузочного приложения при локальном запуске в докере

Я создал REST API, используя весеннюю загрузочную рамку. В приложении я пытаюсь подключиться к серверам монго, к которым я успешно подключен во время работы в среде IDE.

Но когда я пытаюсь запустить его в докере, я сталкиваюсь с проблемой ниже.

Пожалуйста, помогите мне решить эту проблему.

com.mongodb.MongoSocketException: qa-***mongo02.aws.*****.local: имя или служба неизвестны


person Govind    schedule 18.06.2020    source источник


Ответы (1)


Делюсь своим docker-compose.yml Надеюсь, это поможет.

version: "3.7"
services:
    playground_spring_test1_java:
        container_name: playground_spring_test1_java
        build:
            context: ./demo
            dockerfile: Dockerfile
        stdin_open: true
        # env_file:
        #     - ./dev.env
        tty: true

        volumes:
            - "./demo:/app"
        ports:
            - 80:8080


    playground_spring_test1_mongo:
        container_name: playground_spring_test1_mongo
        image: mongo
        volumes:
            - playground_spring_test1_mongo_data:/data/db
        ports:
            - 27017:27017

volumes:
  playground_spring_test1_mongo_data:

Я использую MongoTemplate, и мой application.properties -

spring.data.mongodb.uri=mongodb://playground_spring_test1_mongo:27017/?authSource=admin
person ssnk    schedule 18.06.2020
comment
спасибо за ответ, вы используете подключение к локальному серверу? - person Govind; 18.06.2020
comment
да, вы можете использовать имя контейнера в качестве имени хоста для подключения к локальному серверу.... - person ssnk; 19.06.2020
comment
Да. я пробовал и мне помогло. но мой вопрос в другом. я пытаюсь подключиться к частному серверу, к которому у меня есть доступ. я могу подключиться к этому серверу в IDE, но я не могу подключиться через докер. и для этого соединения требуется соединение openvpn, которое у меня есть. почему я не могу получить доступ к этому серверу. не могли бы вы рассказать мне. где я делаю неправильно. - person Govind; 19.06.2020