У меня возникли проблемы с запущенными контейнерами linux, созданными для dotnet asp.net core 2 на докере для окон.
Команда, которую я использовал, чтобы запустить свой контейнер был:
docker run -it --rm -p 3394:3394 --name <name> <container>
я мог обстреливать в контейнер и убедитесь, что приложение было слушать и возвращать результаты.
Однако попытка доступа к приложению с моей машины на порте 3394 не будет работать для 127.0.0.1
, localhost
или IP-адреса моего компьютера в сети.
Однако выполнение этой команды дает IP-адрес, выделяемый Docker хост:
docker inspect -f "{{ .NetworkSettings.IPAddress }}" <name>
В моем случае IP был 172.17.0.2
. Однако доступ к 172.17.0.2:3394
еще не сработал.
Последний кусок нужно было запустить следующее в поднятом DOS Prompt:
route /P add 172.0.0.0 MASK 255.0.0.0 10.0.75.2
Этот дополнительный маршрут так моя машина не искал адрес через мой WAN, который был диагностирован с помощью tracert
.
Заслуга https://github.com/docker/for-win/issues/221
Используете "Docker для Windows" или "Докер Toolbox для Windows"? если это Docker Toolbox, IP-адрес по умолчанию должен быть 192.168.99.100, вы должны увидеть его при запуске оболочки докера, иначе ip-адрес должен быть таким же, как ваш локальный компьютер. – Takahiro
Привет! Я запускаю докер для окон. Таким образом, вы имеете в виду фактический IP-адрес моего ПК, а не default/ipv4, но тот, который я получаю от, например, мифибрик или что-то :)? – TanguyB
@Takahiro не работает ни мой localhost, ни по умолчанию, ни ipv4, ни public ip. – TanguyB