Docker для каждого сетевого порта - PullRequest
0 голосов
/ 21 апреля 2019

Я ищу способ сопоставить один и тот же порт на 2 разных порта, каждый для другого контейнера в другой сети. рассмотрим следующий сценарий docker-compose:

services:

  web:
    build: .
    ports:
      - "8080:8080"
    networks:
      Net1:
      Net2:

  serv1:
    image: tomcat:7.0.92-jre8
    networks:
      Net1:
  serv2:
    image: tomcat:7.0.92-jre8
    networks:
      Net2:

Теперь я действительно хотел бы сопоставить порт 8080 «веб-службы» таким образом, чтобы serv1 мог использовать его как 8081, а serv2 будет использовать его как 8082.

Это вообще возможно?

Спасибо

1 Ответ

3 голосов
/ 21 апреля 2019

Порты публикуются на хосте, а не в сетях докеров и не в других контейнерах докеров.Таким образом, вышеприведенный «8080: 8080» отображает порт 8080 на хосте докера в порт 8080 этого контейнера.

Для связи между контейнерами, которая происходит с использованием внутреннего DNS докера для обнаружения службы, и порт контейнера.Таким образом, serv1 и serv2 могут подключаться к http://web:8080 для доступа к веб-службе через свой контейнерный порт.Это никоим образом не мешает serv1 и serv2 прослушивать в своем собственном контейнере любые желаемые порты.

...