Portanto, tenho 3 portas que devem ser expostas à interface da máquina. É possível fazer isso com um contêiner do Docker?
docker
docker-networking
nubela
fonte
fonte
Respostas:
Para expor apenas uma porta, é isso que você precisa fazer:
Para expor várias portas, basta fornecer vários
-p
argumentos:fonte
Note: The -p flag can be used multiple times to configure multiple ports.
--env-file
?docker run -P
(note a maiúscula) que expõe automaticamente todas as portas definidas com EXPOR na Dockerfilepublish
não éexpose
.Passo 1
No seu
Dockerfile
, você pode usar o verboEXPOSE
para expor várias portas.por exemplo
Passo 2
Você gostaria de criar uma nova imagem com base acima
Dockerfile
.por exemplo
Etapa 3
Então você pode usar a
-p
mapear porta do host com o porto de contentores, conforme definido na acimaEXPOSE
deDockerfile
.por exemplo
Caso você queira expor uma variedade de portas contínuas, execute o docker da seguinte maneira:
fonte
se você usar
docker-compose.yml
arquivo:Você também pode especificar a porta do host / rede
fonte
Se você estiver criando um contêiner a partir de uma imagem e quiser expor várias portas (não publicar), poderá usar o seguinte comando:
Agora, quando você inicia este contêiner usando o
docker start
comando, as portas configuradas acima serão expostas.fonte