我是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”端口?
谢谢您的解释。
答案 0 :(得分:1)
好吧,正如@emix在评论中提到的,阅读docs 这是上面提到的
EXPOSE指令通知Docker容器在运行时侦听指定的网络端口。您可以指定端口是侦听TCP还是UDP,如果未指定协议,则默认为TCP。
并继续
EXPOSE指令实际上并未发布端口。它是构建映像的人员和运行容器的人员之间的一种文档,有关打算发布哪些端口的信息。