Как получить доступ к IP-адресу контейнера с хоста - PullRequest
1 голос
/ 14 мая 2019

Допустим, у меня есть контейнер docker, на котором выполняется веб-приложение на порту 8080.

Я не сопоставил порты (при docker run не делал -p 8080:8080)

IP-адрес контейнера 172.17.0.2

почему я не вижу приложение в браузере своего хоста, если я делаю 172.17.0.2:8080 ??

Что мне нужно сделать, чтобы его достичь?

PS, я знаю, как использовать хост-сеть и как сопоставлять порты и просматривать веб-приложение на localhost: 8080, но я не хочу этого делать.

Я хочубыть в состоянии видеть : <порт контейнера> на хост-компьютере.

Ответы [ 2 ]

1 голос
/ 14 мая 2019

Внутренние IP-адреса контейнера - это больше детали реализации, чем что-либо еще.Во многих контекстах (от хостов MacOS; на Docker Toolbox; от других хостов) они недоступны.

Вам никогда не нужно искать внутренние IP-адреса контейнера, и на самом деле это не нужно.Правильный способ получить доступ к вашему контейнеру - это удалить его и перезапустить с соответствующей опцией docker run -p, и тогда он будет доступен через IP-адрес хоста и выбранный вами порт.

(Скажем, вы запустилитот же процесс вне контейнера Docker. Что это за IP-адрес процесса?)

0 голосов
/ 14 мая 2019

Попробуйте использовать шлюз контейнера вместо IP-адреса контейнера. Вместо https://localhost:8080 сделать 172.17.0.X:8080 без https://. Это работает для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...