如何转发docker容器中的所有端口

如何转发docker容器中的所有端口,docker,boot2docker,dockerfile,docker-registry,Docker,Boot2docker,Dockerfile,Docker Registry,考虑: docker run -p 5000:5000 -v /host/:/host appimage 它转发5000到50000 即使在多个方面: docker run -p 5000:5000 -p 5001:5001 -v /host/:/host appimage 我想知道的是: docker run -p allports:allports 是否有任何命令允许转发容器中的所有端口?因为就我而言,我正在运行flask应用程序。出于测试目的,我想运行多个flask实例。因此,对于

考虑:

docker run -p 5000:5000 -v /host/:/host appimage
它转发5000到50000

即使在多个方面:

docker run -p 5000:5000 -p 5001:5001 -v /host/:/host appimage
我想知道的是:

docker run -p  allports:allports

是否有任何命令允许转发容器中的所有端口?因为就我而言,我正在运行flask应用程序。出于测试目的,我想运行多个flask实例。因此,对于每个flask实例,我希望在不同的端口中运行它。此自动多端口转发将有所帮助。

您可以使用
-p
选项公开一系列端口,例如:

docker run -p 2000-5000:2000-5000 -v /host/:/host appimage

有关更多详细信息,请参阅参考文档

您可以使用
docker run--net host…
进行工作设置,在这种情况下,主机的网络直接暴露于continer,并且所有端口绑定都是“公共的”。我没有用多个容器同时测试过这个功能,但它可能工作得很好。

检查“-p”选项。要使其工作,您的Dockerfile必须公开一个端口号。我认为没有这样的选项。这可能会产生误导。考虑到众所周知的端口,例如,如果所有端口都被转发,浏览器将无法工作。例如,DOCKER 19代码“DOKER Run-帮助”GRIPNET返回两个<代码>网络< /代码>相关选项,但不清楚这是否是相同的建议。