В ОС Ma c, при запуске контейнера nginx, в котором в качестве сетевого драйвера указан хост, а затем выполняется команда curl на хосте MA C ОС. Я НЕ МОГУ ДОСТУПИТЬ к службе, доступной на порту 80 хоста. С другой стороны, при выполнении команды curl из другого контейнера с использованием хоста в качестве сетевого драйвера, я также в состоянии получить доступ к службе nginx, доступной на порту 80 хоста:
MACHOST:~ user$ docker run -d --network host --name custom-nginx nginx
1157db8de59a5d6c1f16195bd31a395c171b3ce864cd85542b47620ba87efe05
MACHOST:~ user$ curl -s -o /dev/null -I -sw "%{http_code}\n" http://localhost:80
000
MACHOST:~ user$ docker run --rm --network host curlimages/curl curl -s -o /dev/null -I -sw "%{http_code}\n" http://localhost:80
200
Я уверен, что ожидаемое поведение является следующим, которое я получаю при выполнении того же сценария команд на хосте debian:
cloud_user@debian-instance-2:~$ docker run -d --network host --name custom-nginx nginx
905c905533f8ff8fcab45db05ec1e04545b3357e6ee463f7855da146ccee155f
cloud_user@debian-instance-2:~$ curl -s -o /dev/null -I -sw "%{http_code}\n" http://localhost:80
200
cloud_user@debian-instance-2:~$ docker run --rm --network host curlimages/curl curl -s -o /dev/null -I -sw "%{http_code}\n" http://localhost:80
200
Любой намек на то, что происходит?