Aqui está uma imagem básica do Docker NGINX:
FROM nginx:alpine
COPY src /usr/share/nginx/html
EXPOSE 80
Os metadados da imagem incluem a porta exposta:
> docker inspect --format '{{json .Config.ExposedPorts}}' ...
{"80/tcp":{}}
Mas ao executá-lo com docker run --publish-all
o servidor não é acessível.
Ele deve ser executado com docker run --publish 80:80
.
Mas o objetivo não é EXPOSE
documentar a porta da imagem para que ela possa ser publicada sem precisar ser listada explicitamente graças a --publish-all
?
A
--publish-all
bandeira publica os "portos expostos aos portos efêmeros ".Então, você obterá algo como:
Onde, neste caso, a porta do contêiner 80 é mapeada para a 32769 do host (não 80).