Я новичок в Docker и, возможно, это то, что я до конца не понимаю, но я пытаюсь подключиться к открытому порту в работающем Docker-контейнере.Я извлек и запустил контейнер rabbitmq из концентратора (https://hub.docker.com/_/rabbitmq/). Контейнер rabbitmq должен использовать порт 5672 для подключения клиентов.
После запуска контейнера (как указано на странице концентратора):
$ docker run -d --hostname my-rabbit --name some-rabbit rabbitmq:3
Теперь я хочу сделать telnet в открытом сообщении (это возможно при обычной установке rabbitmq и также должно быть в контейнере).
У меня (по крайней мере, я так думаю) получил IP-адрес контейнера с помощью следующей команды:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id
И результат, который я получил, был 172.17.0.2
. Когда я пытаюсь получить доступ с помощью telnet 172.17.0.2 5672
, это не удается.
Адрес 172.17.0.2
кажется мне странным, потому что, если я запускаю ipconfig
на своей машине, я не вижу интерфейса, использующего адрес 172.17.0.x
. Я вижу Ethernet adapter vEthernet (DockerNAT)
, используя следующий ip: 10.0.75.1
Это так, как и должно быть?
Если я сделаю привязку порта (добавив -p 5672:5672
), я могу подключиться к этому порту с помощью telnet localhost 5672
и подключиться напрямую.
Что такоеЯ здесь скучаю?