Переадресовать открытый порт докера на другой порт в том же контейнере, не публикуя его на хосте - PullRequest
0 голосов
/ 21 октября 2019

У меня есть контейнер, открывающий доступ к веб-приложению через порт 3000, и еще один, имеющий доступ к нему через docker dns.

Я хочу получить доступ к этому контейнеру, используя порт 80, без изменения веб-приложения и без прямого доступаэто к хозяину (иначе --publish). По сути, внутренне перенаправьте порт 80 на порт 3000.

Возможно ли это сделать с помощью докера без изменения контейнера, чтобы иметь socat или что-то еще?

1 Ответ

1 голос
/ 21 октября 2019

Нет, Docker не имеет этой возможности. Единственное переназначение портов - это когда порт публикуется за пределами пространства Docker с использованием опции docker run -p, и это никогда не влияет на межсервисную связь. Единственными вариантами здесь являются изменение конфигурации сервера для прослушивания на порту 80 или изменение конфигурации клиента для включения явного порта 3000.

(Kubernetes Services do имеют такую ​​возможность, иЯ склонен переназначать непривилегированный порт из данного Pod на стандартный порт HTTP в Сервисе, но это совсем не основная возможность Docker.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...