如果容器已经创建并正在运行,如何使用docker将主机端口分配给容器端口?

时间:2014-09-04 15:09:39

标签: mapping port docker linux-containers

我们可以创建一个新容器,并在docker run命令中定义您的应用程序端口,如

sudo docker run -d -p 5000:5000 training/webapp python app.py

sudo docker run -d -P training/webapp python app.py

但是,如果有人忘记在docker run命令中指定-p或-P选项怎么办?创建容器并在本地运行应用程序。现在,我如何将容器中本地运行的应用程序的端口分配给我的Ubuntu主机端口? 请帮助。 感谢。

1 个答案:

答案 0 :(得分:0)

简短:你做不到。您需要停止容器(或不停止)并使用适当的参数启动新容器。

Docker旋转本地代理并设置iptables以获得正确的NAT。如果你真的无法启动一个新的容器,你可以手动设置iptables并启动一个socat。您可以查看Docker代码的网络部分以获取更多信息。