我们可以创建一个新容器并在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主机的端口?
请对此提供帮助。
谢谢。
最佳答案
简短:您不能。您需要停止容器(或不停止容器),并使用适当的参数启动一个新容器。
Docker启动了一个本地代理并为适当的NAT设置了iptables。如果您确实无法启动新容器,则可以手动设置iptables并启动socat。您可以查看Docker代码的网络部分以了解更多信息。
关于mapping - 如果容器已经创建并正在运行,如何使用docker将主机端口分配给容器端口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25669027/