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

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

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

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

networks: inside: internal: true services: db: image: mongo:8.3 networks: - inside client: image: mongo:8.3 command: ["sleep", "300"] networks: - inside

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

docker compose up -d

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

docker compose exec client mongosh --quiet --host db --eval "db.runCommand({ ping: 1 })"

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

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

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