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

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

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

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

克里斯提前致以最良好的问候

根据docker.io文档: https ://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/

$ sudo docker run -p 80:80 <image> <cmd> 

使用EXPOSE构build命令可以将默认端口redirect内置到容器中。

当你启动docker的时候,你可以使用'-p'参数。

docker run -p 80 yourimage apache2将做你现在拥有的。

现在,你可以指定':'来使这个端口成为静态的:

docker run -p :80 -p :443 yourimage apache2

如果您正在使用EXPOSE指令的EXPOSE ,它是同样的事情:)