我需要像以下一样运行一个docker容器:
docker run -p 80:80 -t container_name
但是我想以这样的方式指定docker容器,我所要做的就是:
docker run container_name
当我曝光80时,它似乎不会将其映射到主机。另外,我没有看到任何允许我在Dockerfile中强制使用-t(psuedo-tty)的命令。 CMD允许我指定在容器内运行的命令,而不是运行参数。
感谢。
答案 0 :(得分:1)
不,你不能这样做。
两个参数都要求docker demon与容器和主机进行交互。
-p 80:80
连接主机和容器网络,-t
将主机控制台连接到容器。
这显然不可能在容器/ dockerfile中。
为什么不编写一个为您执行此操作的脚本?
docker-run <container-name>
答案 1 :(得分:1)
Dockerfile仅与图像创建有关。有关运行容器的所有信息都需要在run docker命令中指定。
Dockerfile中的EXPOSE选项仅与run命令中的-P选项有关。通过这种方式,码头工人选择一个随机的高端口进行映射。