云计算核心技术Docker教程:Docker 使用网络端口映射连接
在Docker 网络功能之前,您可以使用 Docker 链接功能来允许容器相互发现并将有关一个容器的信息安全地传输到另一个容器。随着 Docker 网络功能的引入,您仍云计然可以创建链接,但它们在默认bridge网络和 用户定义的网络之间的行为有所不同。.
假设您使用此命令运行一个简单的 Python Flask 应用程序:
$ docker ru算核n -d -P training/webapp python app.py
创建该容器时,该-P标志用于自动将其中的任何网络端口映射到Docker 主机上临时端口范围内的随机高心技端口。接下来,当docker ps运行时,您看到容器中的端口 5000 绑定到主机上的端口 49155。
$ docker ps nostalgic_morse
您还看到了如何使用术D-p标志将容器的端口绑定到特定端口。这里主机的 80 端口映射到容器的 5000 端口:
$ docker run -d -p 80:5000 training/webapp python apocp.py
你明白了为什么这不是一个好主意,因为它限制你只能在那个特定端口上使用一个容器。
相反,您可以指定一系列主机端口以将容器端口绑定到与默认临时端口范围不同的范围:
$ke docker run -d -p 8000-9000:5000 training/webapp python app.py
这会将容器中的端口 5000 绑定到主机上 8000 到 9000r教 之间的随机可用端口。
还有一些其他方法可以配置-p标志。默认情况下,该-p标志将指定端口绑定到主机上的所有接口。但您也可以指定到特定接口的绑定,例如仅绑定到lo程:calhost.
$ docker run -d -p 127.0.0.1:80:5000 training/webapp python app.py
这会将容器内的端口 5000Do 绑定到主机上localhost或127.0.0.1接口上的端口 80 。
或者,要将容器的端口 5000 绑定到动态端口但仅限于 localhost,您可以使用:
$ docker ruckn -d -p 127.0.0.1::5000 training/webapp python app.py
您还可以通过添加尾随/udp或/sctp. 例如:
$ docker run -d -erp 127.0.0.1:80:5000/udp training/webapp python app.py
您还了解了docker port向我们显示当前端口绑定的有用快捷 使方式。这对于向您显示特定的端口配置也很有用。例如,如果您已将容器端口绑定到 localhost主机上的 ,则docker port输出会反映这一点。
$ docker port no用网stalgic_morse 5000
注意:该-p标志可以多次使用以配置多个端口。
本文地址:https://www.xteamlinux.com.cn/news/628e894036.html
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。