将容器端口绑定到Dockerfile中的主机

通常当绑定端口,我会做docker run -p hostport:dockerport ... ,但我可以指定我的Dockerfile的端口绑定?

我正在启动一个侦听端口的服务器。 服务器通过cmd行参数获取端口。 如果我不必在两个地方重复端口(在Dockerfile docker run命令和Dockerfile

dockerfile您只能使用exposeEXPOSE指令通知Docker在运行时侦听指定的networking端口。 EXPOSE不会使容器的端口可以被主机访问。

要将Hostport分配给容器,您需要执行publish-p )。 或者-P标志发布所有暴露的端口。

要自动执行此过程,您可以使用docker-compose 。 在docker撰写文件中,您可以使用不同的参数编排多个docker run命令。