РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗dcMySvNw 9 of 25 menu
◀ ▶

Сервер во внутренней сети в Docker

Внутренняя сеть проекта даёт доступ к серверу только соседним контейнерам, без порта на компьютере. Снаружи к базе по номеру порта не попасть: связь идёт по имени сервиса внутри описания.

Сеть inside помечена как внутренняя. Сервис db без портов получает пароль demo. Сервис client на том же образе ждёт в фоне:

networks: inside: internal: true services: db: image: mysql:9.7 environment: MYSQL_ROOT_PASSWORD: demo networks: - inside client: image: mysql:9.7 command: ["sleep", "300"] networks: - inside

Фоновый подъём проекта выполняют так:

docker compose up -d

Запрос из соседней копии идёт на имя db, которое и есть адрес сервера в сети:

docker compose exec client mysql -h db -uroot -pdemo -e "SELECT 1"

Если сервер ещё стартует, запрос повторяют через несколько секунд. Имя сервиса db заменяет числовой адрес внутри проекта.

Опишите внутреннюю сеть back, сервис db без порта и соседа probe на mysql:9.7 с ожиданием в фоне.

Выполните короткий запрос к db из probe по имени сервиса.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить