Каким будет значение хоста для подключения Docker приложения с базой данных Docker? - PullRequest
0 голосов
/ 13 апреля 2020

Иметь Docker базу данных mySql, которая была настроена как порт 3308: 3306, что означает, что внутренний docker порт 3306 был размещен на локальном хост-порту 3308, и я могу подключиться к этой БД из моего локального машина и приложение, используя порт 3308 просто.

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

JDB c: mysql: // имя хоста : порт / DBName UseSSL = ложь

1 Ответ

0 голосов
/ 13 апреля 2020

Я бы порекомендовал этот тип настройки для команды docker run

  • Создать частную мостовую сеть.

    docker network create --driver bridge privet-net
    
  • Теперь запустите ваше приложение и контейнеры БД вместе со следующим добавленным флагом:

    --network private-net
    

В пользовательских сетях контейнеры могут не только связываться по IP-адресу, но и разрешать имя контейнера для IP-адреса. Эта возможность называется автоматическим c обнаружением службы.

Чтение этого для получения дополнительной информации о Docker работе в контейнерах.

  • Теперь вы можете использовать следующий URL для доступа к базе данных.

    jdbc:mysql://<DB_Container_name>:port/DBName?useSSL=false
    

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...