Я использую докер, и я хотел бы создать сеть «только Интернет» для одного из моих контейнеров: я хочу, чтобы этот контейнер имел доступ только к Интернету, он не должен иметь доступа к другим контейнерам или к хост.
Я думал об использовании для этого iptables, но я думаю, что прямое создание сети докеров было бы более эффективным и элегантным. Тем не менее, я не смог найти, как создать эту сеть докеров «только Интернет».
Не могли бы вы мне помочь?
Спасибо !
Вы можете изолировать контейнеры друг от друга, настроив новую сеть для этого контейнера.
docker network create internetonly
docker run --rm -ti --network internetonly fedora:25 /bin/bash
Он не сможет подключиться к существующим контейнерам, хотя любые будущие контейнеры, которые вы начнете с --network internetonly, смогут связываться друг с другом. Если вы этого не хотите, дайте им все отдельные сети (но iptables, вероятно, будет удобнее)
К сожалению, это не защищает хост, поскольку сети докеров он понадобится в качестве исходящего маршрута.
Если ваша сетевая ситуация поддерживает настройку vlan, сеть Macvlan Docker может поместить контейнер в тегированный vlan - а затем ваш маршрутизатор / брандмауэр разрешит этому vlan доступ только к тем сетевым ресурсам, которые вы хотите. Видеть Вот для получения дополнительной информации.