0Pricing
Docker & DevOps Fundamentals · Урок

Пользовательские мостовые сети и обнаружение служб

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

«Пользовательские мостовые сети и обнаружение служб» — бесплатный урок Docker & DevOps Fundamentals на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Docker & DevOps Fundamentals, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Docker & DevOps Fundamentals содержит 4 уроков всего.

Зачем нужна пользовательская сеть?

Сеть bridge по умолчанию работает, но контейнеры в ней могут обращаться друг к другу только по IP-адресу. Пользовательская сеть типа bridge добавляет автоматическое обнаружение служб на основе DNS, поэтому контейнеры могут обращаться друг к другу по имени.

  • Улучшенная изоляция между группами приложений
  • Встроенное разрешение имён
  • Контейнеры можно подключать и отключать на лету

Список существующих сетей

Docker поставляется с тремя сетями по умолчанию. Просмотрите их с помощью docker network ls, прежде чем создавать собственную сеть.

docker network ls

Создание сети типа bridge

Используйте docker network create. Без флага драйвера Docker по умолчанию выбирает драйвер bridge, который идеально подходит для контейнеров на одном хосте.

docker network create app-net

Просмотр сведений о сети

docker network inspect выводит в формате JSON подсеть, шлюз и все подключённые контейнеры. Это удобно для отладки диапазонов IP-адресов.

docker network inspect app-net

Запуск контейнеров в этой сети

Подключите контейнер при запуске с помощью --network. Здесь мы запускаем контейнер Redis, который другие контейнеры смогут обнаружить по имени.

docker run -d --name cache --network app-net redis:7

Обнаружение по имени

В пользовательской сети имя контейнера разрешается через DNS Docker. Приложение просто подключается к узлу cache через порт 6379, вместо того чтобы искать IP-адрес.

docker run -it --network app-net alpine ping -c 2 cache

Сетевые псевдонимы

Добавьте контейнеру дополнительное имя DNS с помощью --network-alias. Это полезно, когда несколько контейнеров отвечают на одно логическое имя за балансировкой по принципу циклического перебора.

docker run -d --network app-net --network-alias db postgres:16

Подключение работающего контейнера

Не обязательно принимать все решения при запуске. Команда docker network connect подключает уже работающий контейнер к другой сети.

docker network connect app-net web

Отключение от сети

Аналогично, команда docker network disconnect удаляет контейнер из сети, не останавливая его.

docker network disconnect app-net web

Открытие и публикация портов

Контейнеры в одной пользовательской сети свободно взаимодействуют через любой порт. Чтобы обратиться к службе с хоста, опубликуйте порт с помощью -p hostPort:containerPort.

docker run -d --network app-net -p 8080:80 nginx

Очистка сетей

Удалите неиспользуемую сеть с помощью docker network rm или сразу очистите все неиспользуемые сети. Сети с подключёнными контейнерами нельзя удалить, пока эти контейнеры не будут удалены.

docker network prune -f

Быстрая проверка

Проверьте, насколько хорошо Вы поняли обнаружение служб.

Итоги

Вы научились создавать и управлять пользовательскими сетями типа bridge:

  • docker network create создаёт изолированную сеть с DNS
  • Контейнеры обращаются друг к другу по имени или через --network-alias
  • connect/disconnect позволяют подключать и отключать контейнеры на лету
  • Публикуйте порты с помощью -p и очищайте неиспользуемые сети

Обнаружение служб по имени — основа, на которой Compose автоматически строит свою работу.

Часто задаваемые вопросы

Урок «Пользовательские мостовые сети и обнаружение служб» бесплатный?

Да — полный текст урока «Пользовательские мостовые сети и обнаружение служб» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Docker & DevOps Fundamentals, подпишись на CoddyKit PRO. Курс Docker & DevOps Fundamentals содержит 4 уроков всего.

Чему я научусь в уроке «Пользовательские мостовые сети и обнаружение служб»?

Создавайте определяемые пользователем мостовые сети, чтобы контейнеры находили друг друга и взаимодействовали по имени, а также узнайте, как Docker выполняет обнаружение служб на основе DNS. Ты практикуешь Docker & DevOps Fundamentals с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Docker & DevOps Fundamentals?

Предыдущий опыт не требуется. Docker & DevOps Fundamentals на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Пользовательские мостовые сети и обнаружение служб»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Docker & DevOps Fundamentals?

Да. Каждый урок Docker & DevOps Fundamentals включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Основы сетевого взаимодействия контейнеров
  2. Тома Docker для сохранения данных
  3. Монтирование каталогов и tmpfs
  4. Пользовательские мостовые сети и обнаружение служб
← Назад к Docker & DevOps Fundamentals