EXPOSE和PUBLISH指令有什么区别?

在文档中,我注意到了这一点:“您使用Dockerfile中的PUBLISH关键字发布端口”。

这是一个坏主意吗? 我从来没有看到一个PUBLISH指令docker文件,为什么不使用? 我怎么和docker run一起使用-p或-P?

该文件是不正确的,并已被修复 。 没有PUBLISH Dockerfile指令,它只是一个运行时选项

  -p, --publish list Publish a container's port(s) to the host -P, --publish-all Publish all exposed ports to random ports 

有关这两个概念的详细信息,请参阅docker中的“expose”和“publish”之间的区别