你能控制Dockerfile中的Docker运行参数吗?

时间:2015-10-30 19:38:10

标签: docker dockerfile

我需要像以下一样运行一个docker容器:

docker run -p 80:80 -t container_name

但是我想以这样的方式指定docker容器,我所要做的就是:

docker run container_name

当我曝光80时,它似乎不会将其映射到主机。另外,我没有看到任何允许我在Dockerfile中强制使用-t(psuedo-tty)的命令。 CMD允许我指定在容器内运行的命令,而不是运行参数。

感谢。

2 个答案:

答案 0 :(得分:1)

不,你不能这样做。

两个参数都要求docker demon与容器和主机进行交互。

-p 80:80连接主机和容器网络,-t将主机控制台连接到容器。

这显然不可能在容器/ dockerfile中。

为什么不编写一个为您执行此操作的脚本?

docker-run <container-name>

答案 1 :(得分:1)

Dockerfile仅与图像创建有关。有关运行容器的所有信息都需要在run docker命令中指定。

Dockerfile中的EXPOSE选项仅与run命令中的-P选项有关。通过这种方式,码头工人选择一个随机的高端口进行映射。