Я читаю docker API и пытаюсь создать простой контейнер и выставить 1 порт.Открыть контейнерный порт для хоста с помощью Docker для Windows в Windows 10
В моем примере, у меня есть приложение, которое прослушивать TCP порт 9595
внутри контейнера, и я хочу, чтобы получить доступ к нему из внешнего мира (то есть хозяин контейнера) на порту 9090
.
При создании контейнера у меня есть "ExposedPorts": { "9595/tcp: {}" }
и "PortBindings": { "9595/tcp": [{ "HostPort": "9090" }] }
.
Итак, если я получаю доступ с Host machine http://container_internal_ip:9595
, он работает! Тем не менее, когда я достигаю http://localhost:9090
, что я ожидаю, используя эту функцию, карту порта, он не работает ...
Во время работы docker port containerID
я имею 9595/tcp -> 0.0.0.0:9090
и что должны средства, when connecting to any IP on the host, at port 9090, forward to the container in port 9595
.
Итак, что здесь не так? Почему я не могу подключиться к 9090?
Я ценю любые разъяснения.
Вопрос не имеет достаточно информации. Нам нужна, по крайней мере, команда докера, какое изображение используется или файл Docker. Контейнеры Windows или контейнеры Linux? –
** Docker Remote API ** против какого докерного двигателя? Контейнеры Windows? Контейнер Linux? Вы не можете запустить контейнер без базового изображения. Какое изображение? Вы назвали ** Docker Remote API **, как вы его назвали? Это правильно? Какую команду вы использовали? Я не могу ** ЗНАЮ ** о том, что вы спрашиваете, если вы не даете ** ДОСТАТОЧНО ** информацию. –
Извините, я не хотел быть грубым Карлосом, но ни один из ваших комментариев не имел отношения к вопросу. Не имеет значения, каков образ. Важно то, что согласно документации API, у меня есть порт 9090, который находится вне контейнера и отображается на порт 9595 внутри контейнера, и это не работает.Netsh ничего не повлияет на поведение или конфигурацию контейнера. –