Исходящее telnet-соединение из Docker-контейнера отклонено, но нормально работает на хосте

Я столкнулся с проблемой сети на узле, размещенном через Tutum в AWS.

Я залез в узел и побежал

telnet localhost 3000

и это прекрасно работает. Когда я docker exec -it <containerid> bash в один из моих контейнеров и выполнить ту же команду выше, и я получаю эту ошибку:

telnet: Unable to connect to remote host: Connection refused

Кто-нибудь может пролить свет на то, почему исходящие соединения от контейнера к хосту не разрешены?

1 ответ

Решение

Какой сетевой стек используют ваши контейнеры? localhost значит местный. На вашем хосте это локальный локальный интерфейс, а на ваших контейнерах - локальный локальный интерфейс. Так что, если вы не запускаете свои контейнеры с --net=host это обычное поведение, так как на нем не работает служба containers-localhost-ip:3000 но только на host-localhost-ip:3000 которые разные.

Другие вопросы по тегам