Внутренняя сеть в Docker
Внутренняя сеть пускает контейнеры друг к другу и не даёт им выход в интернет. DNS по именам внутри работает, а шлюз наружу для такой сети не поднимают.
При создании сети включают флаг
--internal у команды
docker network create.
Сеть quiet создадим так:
docker network create --internal quiet
Два контейнера busybox
на quiet поднимают
с разными именами и ожиданием:
docker run -d --name alpha --network quiet busybox sleep 300
docker run -d --name beta --network quiet busybox sleep 300
Из alpha имя beta
находится, пинг между ними
проходит.
Пинг example.com из
той же копии не даёт ответа:
маршрут за пределы quiet
закрыт.
docker exec alpha ping -c 1 beta
docker exec alpha ping -c 1 example.com
Создайте внутреннюю сеть closed и два фоновых контейнера busybox с именами one и two на этой сети.
Из one проверьте пинг к two и одну попытку пинга к example.com, затем кратко сравните результаты.