14

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

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

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

在此先感谢并致以最诚挚的问候,克里斯

4

2 回答 2

16

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

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

可以使用 EXPOSE 构建命令将默认端口重定向构建到容器中。

于 2013-08-30T11:56:17.787 回答
4

启动 docker 时,可以使用 '-p' 参数。

docker run -p 80 yourimage apache2会做你目前拥有的。

现在,您可以指定 ':' 使此端口成为静态:

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

如果您使用的是带有EXPOSE指令的 Dockerfile,那是一样的 :)

于 2013-06-06T14:28:41.283 回答