Здравствуйте, у меня есть следующий файл докеров на моем macOS Sierr High (в качестве примера):
FROM richarvey/nginx-php-fpm:1.3.7
EXPOSE 80
И я могу собрать и запустить его на 192.168.8.101:8082 с помощью
docker build -t myproject
docker run -d -p 192.168.8.101:8082:80 --name myproject myproject
и он работает на http://192.168.8.101:8082 моем локальном компьютере и устройствах (iPhone), подключенных к та же сеть Wi-Fi (у меня также нет проблем с запуском контейнера на локальном хосте).
Однако, когда я пытаюсь запустить этот контейнер на другом IP-адресе, например, 192.168.8.102:8082, я получаю следующую ошибку:
Mac-mini-Kamil:myproject Kamil$ docker run -d -p 192.168.8.102:8082:80 --name myproject myproject
f939d38243f420f812c859f5fe275faf49dc6e123d807583ec240fbdf0619a17
docker: Error response from daemon: driver failed programming external connectivity on endpoint myproject (0b546e63887e3ddeb4d2b21a8d6d15a94e33f1ff67c2765174a808bf6b13e120): Error starting userland proxy: listen tcp 192.168.8.102:8082: bind: cannot assign requested address.
Я также пробую другие адреса, такие как 172.17.1.2, но безуспешно, и я понятия не имею, почему. Может ли кто-нибудь дать мне совет (и / или инструкции о том, какую дополнительную информацию я должен предоставить по этому вопросу, чтобы решить его)? Я хотел бы знать: почему я не могу использовать другие IP-адреса и что я могу сделать, чтобы использовать другие IP-адреса?
ОБНОВЛЕНИЕ - дополнительная информация:
После выполнения ifconfig
я выбрал два интересных результата:
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether a8:8e:24:a3:d3:91
inet6 fe80::18fe:1146:6389:b630%en1 prefixlen 64 secured scopeid 0xa
inet 192.168.8.101 netmask 0xffffff00 broadcast 192.168.8.255
nd6 options=201<PERFORMNUD,DAD>
media: autoselect
status: active
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=63<RXCSUM,TXCSUM,TSO4,TSO6>
ether 32:00:11:fc:70:40
Configuration:
id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
ipfilter disabled flags 0x2
member: en2 flags=3<LEARNING,DISCOVER>
ifmaxaddr 0 port 9 priority 0 path cost 0
nd6 options=201<PERFORMNUD,DAD>
media: <unknown type>
status: inactive