Код: Выделить всё
localhost:9000$ php -S localhost:9000
< /code>
локальный порт сканирования на моей хост-машине показывает, что этот порт открыт, и я могу общаться с ним.$ nmap 127.0.0.1
PORT STATE SERVICE
80/tcp open http
443/tcp open https
.
.
.
8000/tcp open http-alt
8081/tcp open blackice-icecap
9000/tcp open cslistener
< /code>
Теперь, если я открою оболочку в контейнере Docker и запускаю сканирование порта на хост-машине, я получаю другой вывод: < /p>
$ nmap host.docker.internal
PORT STATE SERVICE
80/tcp open http
443/tcp open https
.
.
.
8000/tcp open http-alt
< /code>
В первом (локальном) сканировании порта я включил несколько других услуг, чтобы показать, что порты открыты, но не доступны в контейнере Docker.$ sudo ufw disable && sudo ufw status
Firewall stopped and disabled on system startup
Status: inactive
< /code>
Я запустил такую же среду Docker на MacOS, и она работает нормально. < /p>
Я могу пинговать свой хост, а IP-адрес показывает в ожидаемом диапазоне: < /p>
$ ping -c 1 host.docker.internal
PING host.docker.internal (172.17.0.1) 56(84) bytes of data.
64 bytes from host.docker.internal (172.17.0.1): icmp_seq=1 ttl=64 time=0.067 ms
< /code>
Внутри контейнера хост-машина имеет один IP-адрес внутри Docker-host-machine-range: < /p>
$ ip route show default
default via 172.19.0.1 dev eth0
< /code>
Однако, когда я проверяю IP-адрес виртуального моста Docker: < /p>
$ ip addr show docker0
...
...
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
...
< /code>
Итак, существует несоответствие диапазона IP. Я не уверен, стоит ли это дальнейшее расследование.>
Подробнее здесь: https://stackoverflow.com/questions/797 ... -container
Мобильная версия