Почему я все еще могу пропинговать хост, если сеть Docker настроена на внутреннюю? - PullRequest
0 голосов
/ 29 апреля 2020

Docker документы о "Внутреннем режиме сети":

По умолчанию, когда вы подключаете контейнер к сети overlay, Docker также подключает к нему мостовую сеть, чтобы обеспечить внешнее подключение. Если вы хотите создать внешне изолированную сеть overlay, вы можете указать опцию --internal.

Источник: https://docs.docker.com/engine/reference/commandline/network_create/#network -internal-mode

Однако, хотя я не могу связаться с inte rnet или другими службами в сети хоста при использовании сети с опцией --internal - я заметил, что все еще могу пропинговать хост Docker изнутри контейнера.

Минимальный пример:

# create example network with `--internal` option
docker network create --internal internal
# ping Docker host from inside container
docker run -it --rm --network=internal debian:buster sh -c "ping $(hostname -I | sed -r -e 's/^.*(192[^ ]*).*$/\1/')"
...