Как получить доступ к Docker-контейнеру с другой машины (компьютера)? - PullRequest
0 голосов
/ 27 июня 2019

Я создал образ докера с помощью монтирования файла сценария в контейнере, а затем установил необходимые зависимости в работающем контейнере и сохранил содержимое контейнера с помощью команды commit.

Основная проблема заключается в том, что несколько приложений запускаются / работают на нескольких портах внутри контейнера. Но перед тем, как приступить к этой части, я столкнулся с очень странной проблемой - я запускаю свой образ докера с помощью команды -p (Publish), давая мне удовлетворительный результат в моей хост-машине, но я не могу получить доступ к одному и тому же порту с другого компьютера (используя IP-адрес моей машины). Я испробовал почти все возможные решения, которые до сих пор не получили ожидаемый результат?

Я запустил свой образ докера, указав подходящий номер порта с помощью команды (-publish).

docker run -it --hostname docker1 --name testrun12 -p 8079:8079  b6a555d1a373

Пожалуйста, помогите мне в этом, я просмотрел много статей, реализовал много частей, но результат все тот же

Ответы [ 2 ]

0 голосов
/ 27 июня 2019

Вы только опубликовали порты из контейнера, и они будут доступны на локальном хосте.Чтобы иметь возможность доступа к контейнеру извне, вам также необходимо иметь контейнер для доступа к сети хоста (если у вас не запущено больше служб на хосте и могут возникнуть конфликты).

Изучите использование --network host или для дальнейшего прочтения документации Докера по работе в сети - https://docs.docker.com/network/

0 голосов
/ 27 июня 2019

По умолчанию Docker перенаправляет весь входящий трафик со всех интерфейсов через этот порт в контейнер, поскольку вы не можете подключиться с других компьютеров, я думаю, что это проблема брандмауэра.

Попробуйте использовать общие порты, такие как 80 или 443, обычно брандмауэры разрешают все виды трафика через эти порты.

...