通常在绑定端口时,我会这样做docker run -p hostport:dockerport ...,但是我可以在我的内部指定端口绑定Dockerfile吗?
docker run -p hostport:dockerport ...
Dockerfile
我正在启动一个监听端口的服务器。服务器通过cmd行参数获取端口。如果我不必在两个位置(在docker runcommand和中Dockerfile)重复端口,那将是很棒的
docker run
在dockerfile您只能使用expose。该EXPOSE指令通知Docker容器在运行时监听指定的网络端口。EXPOSE不会使主机可以访问容器的端口。
dockerfile
expose
EXPOSE
要将Hostport分配给容器,您需要执行publish(-p)。或-P发布 所有 公开端口的标志。
publish
-p
-P
要使过程自动化,可以使用docker-compose。在docker compose文件中,您可以编排docker run具有不同参数的多个命令。
docker-compose