К сожалению, в Интернете полно схожих вопросов, хотя все они немного отличаются, а некоторые связаны с виртуальными машинами. Вот мои настройки:
Mac OSX 10.13.2
Докер 18.06.0-ке
У меня есть очень простой сервер для хранения колб, к которому при запуске я могу получить доступ через:
http://127.0.0.1:8015/Outlier/username/100/
И я получаю числовой результат.
Я настроил образ Docker с помощью серверного приложения выше и требований флакона, колбы-отдыха и запросов. Когда я запускаю контейнер с этим изображением, я могу получить доступ к результатам через:
docker exec <container id> curl http://127.0.0.1:8015/Outlier/username/100/
Проблема в том, что когда я получаю доступ к http://127.0.0.1:8015/Outlier/username/100/
через хром, на хосте я получаю сообщение:
Эта страница не работает
127.0.0.1 не отправил никаких данных.
ERR_EMPTY_RESPONSE
Я понимаю, что контейнер работает на своем собственном порту ip: и на хосте я должен правильно добраться до этого места.
docker ps <container id>
Для ПОРТ-шоу
0.0.0.0: 8015-> 8015 / TCP
Я убедился, что Dockerfile выполняет EXPOSE 8015: 8015 (поэтому порты хоста и контейнера совпадают)
docker inspect <container id>
Возвращает кучу деталей, включая один HostIp, который пуст. В соответствии с этим полезным постом docker я должен посмотреть на настройку «Gateway», которая в моем случае - 172.17.0.1. Во всяком случае, я попробовал следующее на моей хост-машине через Chrome (и curl) без какого-либо успеха. Какие другие настройки я должен установить? Это не должно быть так много времени ...
http://localhost:8015/Outlier/username/100/
http://0.0.0.0:8015/Outlier/username/100/
http://127.0.0.1:8015/Outlier/username/100/
http://<192.168.1.75 ip моего хоста через ifconfig>: 8015 / Outlier / username / 100 /
http://172.17.0.1:8015/Outlier/username/100/
http://<172.17.0.2 который является IP-адресом в соответствии с проверкой Docker>: 8015 / Outlier / username / 100 /
Есть указатели?