Почему разные экземпляры образа Docker работают на одном и том же порту - PullRequest
0 голосов
/ 08 февраля 2019

Я создал приложение Asp.net с поддержкой Docker (windows).Я создал его образ (eshoplegacymvc: dev) и запустил его с помощью команды

docker run eshoplegacymvc:dev

. Я несколько раз запускал команду, и я понимаю, что при ее запуске веб-сайт будет доступен.

Запросы:

1) Итак, если я запускаю его 5 раз, значит ли это, что запущено 5 экземпляров этих сайтов?

2) Если да, то почему номер порта у всех одинаковый?И как я могу получить доступ к этим сайтам с локальной машины, я не могу этого сделать.

См. Скриншот ниже, на котором показаны все процессы, выполняемые с помощью команды docker

Docker ps

enter image description here

Ответы [ 2 ]

0 голосов
/ 08 февраля 2019
  1. Да, вы используете 5 экземпляров веб-сайта
  2. , которые вы забыли настроить для сопоставления портов

docker run -p 8888:80 eshoplegacymvc:dev, с помощью этой команды вы можете сопоставить порты

ваш сайт будет работать на localhost: 8888

для 5 контейнеров, вы можете сделать это 5 раз с -p 8777: 80 с разными портами 8888: 80;8999: 80, который обращается к порту 80 контейнера и выставляет его более 8777

0 голосов
/ 08 февраля 2019

Во время выполнения команды docker вы не указали сопоставление портов.Показанные порты 80 / tcp имеют порт tcp контейнера, а не порт хоста.

1) Да, вы используете 5 экземпляров веб-сайтов.2) Чтобы получить доступ к веб-сайту, вам необходимо предоставить разные сопоставления портов для каждого экземпляра контейнера.

Пример:

docker run -p 8081:80 eshoplegacymvc:dev
docker run -p 8082:80 eshoplegacymvc:dev
docker run -p 8083:80 eshoplegacymvc:dev
docker run -p 8084:80 eshoplegacymvc:dev
docker run -p 8085:80 eshoplegacymvc:dev

В приведенных выше примерах порт 80 tcp контейнера привязывается к порту TCP8081/8082/8083/8084/8085 хост-машины.

Вы можете получить доступ к сайту, используя http://localhost:8081/

Для получения дополнительной информации о привязке порта вы можете проверить docker docs

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