Когда вы запускаете контейнер, например:
docker run -d --name alpine1 alpine
По умолчанию он подключен к сети bridge
, проверьте его с помощью:
docker container inspect alpine1
Если вы попытаетесьподключите его к host
сети с:
docker network connect host alpine1
вы получите ошибку:
Ошибка ответа от демона: контейнер не может быть отключен от сети хоста или подключен к сети хоста
Вы должны удалить контейнер и снова запустить его в сети хоста:
docker stop alpine1
docker rm alpine1
docker run -d --network host --name alpine1 alpine
Это ограничение отсутствует в мостовых сетях.Вы можете запустить контейнер:
docker run -d --name alpine2 alpine
отключите его от мостовой сети и подключите его к другой мостовой сети.
docker network disconnect bridge alpine2
docker network create --driver bridge alpine-net
docker network connect alpine-net alpine2
Обратите внимание также, что согласно документации :
Сетевой драйвер хоста работает только на хостах Linux и не поддерживается в Docker Desktop для Mac, Docker Desktop для Windows или Docker EE для Windows Server.