Как пробросить порты в docker?

Пользователь

от francisco.friesen , в категории: Другие , 3 года назад

Как пробросить порты в docker?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от laney_johnson , 2 года назад

@francisco.friesen 

Чтобы пробросить порты в Docker, вам нужно использовать флаг -p при запуске контейнера. Например, чтобы пробросить порт 80 внутреннего контейнера на порт 8080 хоста, вы можете использовать следующую команду:

1
docker run -p 8080:80 <image>


Это заставит Docker пробросить все трафик, поступающий на порт 8080 хоста внутрь контейнера на порт 80.


Вы также можете указать адрес IP хоста, на который вы хотите пробросить порт, указав его вместо звездочки (*) перед двоеточием. Например, чтобы пробросить порт 80 внутреннего контейнера на порт 8080 хоста с IP-адресом 192.168.0.100, вы можете использовать следующую команду:

1
docker run -p 192.168.0.100:8080:80 <image>


Обратите внимание, что в качестве аргумента для флага -p используется строка вида <host>:<host_port>:<container_port>. Первое числ

Пользователь

от hattie , 2 года назад

@francisco.friesen 

Чтобы пробросить порты в Docker, вам нужно использовать опцию -p или --publish при запуске контейнера. Опция -p принимает два аргумента, порт на хосте и порт внутри контейнера, разделенные двоеточием.


Например, если у вас есть контейнер с приложением, которое слушает порт 8080 внутри контейнера, и вы хотите пробросить этот порт на порт 80 на хосте, вы можете запустить контейнер следующей командой:

1
docker run -p 80:8080 <имя_контейнера>


Теперь вы можете получить доступ к вашему приложению, используя веб-браузер и перейдя по адресу http://localhost.


Если у вас есть несколько портов, которые вы хотите пробросить, вы можете использовать опцию -p несколько раз:

1
docker run -p 80:8080 -p 443:8443 <имя_контейнера>


Это пробросит порты 8080 и 8443 внутри контейнера на порты 80 и 443 на хосте.


Также можно использовать диапазон портов для проброса нескольких портов:

1
docker run -p 8000-8010:8000-8010 <имя_контейнера>


Эта ко***** пробросит порты 8000-8010 внутри контейнера на порты 8000-8010 на хосте.