如何将静态端口分配给容器?

时间:2013-06-06 09:40:47

标签: port docker

我想为容器分配一个端口,以便在每次重新启动容器后获得相同的端口。

实施例: 我有一个容器,里面有一个Apache。 Apache在容器内的端口80上运行。 现在,在启动容器后,docker将主机端口分配给容器端口,例如:49154 - > 80.但重启后主机端口会发生变化,具体取决于正在运行的容器数量。我试图在容器的config.json文件中指定端口,但它会被覆盖。

是否可以手动指定主机端口?

先致谢谢,并致以诚挚的问候, 克里斯

2 个答案:

答案 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,那就是同样的事情:)