为什么Dockerfile中未使用暴露端口?

时间:2019-08-27 07:54:26

标签: docker

我是Docker的新手。我刚学了一个星期。它确实是部署的理想工具。我也有坚持。我创建了3个容器,如下所示:

(1)0.0.0.0:3000-> 3000 / tcp

(2)0.0.0.0:5000-> 3000 / tcp

(3)0.0.0.0:4000-> 5000 / tcp

因此,容器的端口是我在“索引文件”中定义的端口(const port = 3000)。我要问的是为什么在Dockerfile中使用容器的端口而不是“ EXPOSE”端口?

谢谢您的解释。

1 个答案:

答案 0 :(得分:1)

好吧,正如@emix在评论中提到的,阅读docs 这是上面提到的

  

EXPOSE指令通知Docker容器在运行时侦听指定的网络端口。您可以指定端口是侦听TCP还是UDP,如果未指定协议,则默认为TCP。

并继续

  

EXPOSE指令实际上并未发布端口。它是构建映像的人员和运行容器的人员之间的一种文档,有关打算发布哪些端口的信息。