🟢 Лёгкий · 1 очк. Docker
Как контейнеры в одной Docker-сети обращаются друг к другу?
A По IP-адресу
B По имени контейнера (DNS)
C Через файловую систему
D Через переменные окружения
Объяснение вопроса

В одной пользовательской сети Docker встроенный DNS разрешает имя контейнера (или имя сервиса в Compose) в IP этого контейнера. Обращаться по hostname удобнее, чем по IP.

Пример

# docker run с именами
docker network create mynet
docker run -d --name db --network mynet postgres
docker run -d --name app --network mynet -e DB_HOST=db myapp

# В приложении (Go):
connStr := "host=db user=postgres ..."  // "db" - hostname

Docker Compose

Имя сервиса в docker-compose.yml становится hostname. Сервис postgres доступен по имени postgres с любого другого сервиса в той же сети.

services:
  app:
    environment:
      - DB_HOST=postgres
  postgres:
    image: postgres:16
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.