我想为容器分配一个端口,以便在每次重新启动容器后获得相同的端口。
实施例: 我有一个容器,里面有一个Apache。 Apache在容器内的端口80上运行。 现在,在启动容器后,docker将主机端口分配给容器端口,例如:49154 - > 80.但重启后主机端口会发生变化,具体取决于正在运行的容器数量。我试图在容器的config.json文件中指定端口,但它会被覆盖。
是否可以手动指定主机端口?
先致谢谢,并致以诚挚的问候, 克里斯
答案 0 :(得分:15)
根据docker.io文档:https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/
$ sudo docker run -p 80:80 <image> <cmd>
默认端口重定向可以使用EXPOSE构建命令构建到容器中。
答案 1 :(得分:4)
启动泊坞窗时,可以使用'-p'参数。
docker run -p 80 yourimage apache2
会做你现在拥有的。
现在,您可以指定':'使此端口成为静态:
docker run -p :80 -p :443 yourimage apache2
如果你使用带有EXPOSE
指令的Dockerfile,那就是同样的事情:)