Таким образом, у меня есть 3 порта, которые должны быть открыты для интерфейса машины. Возможно ли это сделать с помощью контейнера Docker?
docker
docker-networking
nubela
источник
источник
Ответы:
Чтобы выставить только один порт, вот что вам нужно сделать:
Чтобы выставить несколько портов, просто предоставьте несколько
-p
аргументов:источник
Note: The -p flag can be used multiple times to configure multiple ports.
--env-file
?docker run -P
(обратите внимание на верхний регистр), который автоматически выставляет все порты, определенные с помощью EXPOSE в Dockerfilepublish
нетexpose
.Шаг 1
В вашем
Dockerfile
, вы можете использовать глагол,EXPOSE
чтобы выставить несколько портов.например
Шаг 2
Затем вы хотели бы создать новое изображение на основе выше
Dockerfile
.например
Шаг 3
Затем вы можете использовать
-p
для отображения порта хоста с контейнерным портом, как это определено в вышеEXPOSE
изDockerfile
.например
В случае, если вы хотите выставить диапазон непрерывных портов, вы можете запустить Docker следующим образом:
источник
если вы используете
docker-compose.yml
файл:Вы также можете указать хост / сетевой порт
источник
Если вы создаете контейнер из изображения и хотите выставить несколько портов (не публиковать), вы можете использовать следующую команду:
Теперь, когда вы запустите этот контейнер с помощью
docker start
команды, настроенные выше порты будут доступны.источник