🔹Подключение контейнера к сети
Для подключения контейнера к сети используйте команду
docker network connect:docker network connect mynet container1
Это добавит контейнер container1 в сеть mynet.
🔹Создание сети
Для создания новой сети используйте команду
docker network create:docker network create --driver bridge mynet
Это создаст новую сеть bridge с именем mynet.
🔹Отключение контейнера от сети
Для того чтобы отключить контейнер от сети, используйте команду
docker network disconnect:docker network disconnect mynet container1
Это удалит контейнер container1 из сети mynet, и контейнер больше не сможет общаться с другими контейнерами в этой сети.
🔹Просмотр сети
Для просмотра настроек сети и подключённых контейнеров используйте команду
docker network inspect:docker network inspect mynet
Эта команда выводит низкоуровневые данные о сети и её пирах.
🔹Список доступных сетей
Для отображения всех сетей на хосте Docker используйте команду
docker network ls:docker network ls
Эта команда выведет список сетей, их идентификаторы, типы драйверов, IP-адреса и другие данные.
🔹Удаление сети
Для удаления сети, которая больше не используется, используйте команду
docker network rm:docker network rm mynet
Эта команда удалит сеть mynet с хоста. Контейнеры больше не смогут обмениваться данными по этой сети.
🔹Публичное сетевое взаимодействие
По умолчанию контейнеры не имеют доступа к публичной сети и изолированы от внешней сети. Чтобы открыть порты, используйте аргумент
-p при запуске контейнера:docker run -p 80:5000 myapp
Эта команда направит внутренний TCP-порт 5000 на внешний порт 80. Контейнер теперь будет доступен на порту 80 с внешней сети.
— Заключение
Сетевое взаимодействие Docker предоставляет различные драйверы сетей для изоляции или соединения контейнеров. Сетевые драйверы bridge просты в использовании, но драйверы overlay и macvlan предоставляют больше гибкости. Команды для работы с сетями позволяют создавать сети, подключать контейнеры и настраивать параметры. В целом, сетевые возможности Docker предоставляют мощные инструменты для проектирования распределённых приложений.
👉 DevOps Portal