将容器端口绑定到Dockerfile中的主机
通常当绑定端口,我会做docker run -p hostport:dockerport ...
,但我可以指定我的Dockerfile
的端口绑定?
我正在启动一个侦听端口的服务器。 服务器通过cmd行参数获取端口。 如果我不必在两个地方重复端口(在Dockerfile
docker run
命令和Dockerfile
)
在dockerfile
您只能使用expose
。 EXPOSE
指令通知Docker在运行时侦听指定的networking端口。 EXPOSE不会使容器的端口可以被主机访问。
要将Hostport分配给容器,您需要执行publish
( -p
)。 或者-P
标志发布所有暴露的端口。
要自动执行此过程,您可以使用docker-compose
。 在docker撰写文件中,您可以使用不同的参数编排多个docker run
命令。