云计算核心技术Docker教程:Docker 使用网络端口映
在Docker 网络功能之前,您可以使用 Docker 链接功能来允许容器相互发现并将有关一个容器的信息安全地传输到另一个容器。随着 Docker 网络功能的引入,您仍然可以创建链接,但它们在默认bridge网络和 用户定义的网络之间的行为有所不同。.
假设您使用此命令运行一个简单的 Python Flask 应用程序
$ docker run -d -P training/ebapp python app.py
创建该容器时,该-P标志用于自动将其中的任何网络端口映射到Docker 主机上临时端口范围内的随机高端口。接下来,当docker ps运行时,您看到容器中的端口 5000 绑定到主机上的端口 49155。
$ docker ps nostalgic_morse
您还看到了如何使用-p标志将容器的端口绑定到特定端口。这里主机的 80 端口映射到容器的 5000 端口
$ docker run -d -p 80:5000 training/ebapp python app.py
你明白了为什么这不是一个好主意,因为它限制你只能在那个特定端口上使用一个容器。
相反,您可以指定一系列主机端口以将容器端口绑定到与默认临时端口范围不同的范围
$ docker run -d -p 8000-9000:5000 training/ebapp python app.py
这会将容器中的端口 5000 绑定到主机上 8000 到 9000 之间的随机可用端口。
还有一些其他方法可以配置-p标志。默认情况下,该-p标志将指定端口绑定到主机上的所有接口。但您也可以指定到特定接口的绑定,例如仅绑定到localhost.
$ docker run -d -p 127.0.0.1:80:5000 training/ebapp python app.py
这会将容器内的端口 5000 绑定到主机上localhost或127.0.0.1接口上的端口 80 。
或者,要将容器的端口 5000 绑定到动态端口但仅限于 localhost,您可以使用
$ docker run -d -p 127.0.0.1::5000 training/ebapp python app.py
您还可以通过添加尾随/udp或/sctp. 例如
$ docker run -d -p 127.0.0.1:80:5000/udp training/ebapp python app.py
您还了解了docker port向我们显示当前端口绑定的有用快捷方式。这对于向您显示特定的端口配置也很有用。例如,如果您已将容器端口绑定到 localhost主机上的 ,则docker port输出会反映这一点。
$ docker port nostalgic_morse 5000
注意该-p标志可以多次使用以配置多个端口。
人工智能培训
- 真正能和人交流的机器人什么时候实现
- 国产机器人成功完成首例远程冠脉介入手术
- 人工智能与第四次工业革命
- 未来30年的AI和物联网
- 新三板创新层公司东方水利新增专利授权:“一
- 发展人工智能是让人和机器更好地合作
- 新春贺喜! 经开区持续推进工业互联网平台建设
- 以工业机器人为桥 传统企业如何趟过智造这条河
- 山立滤芯SAGL-1HH SAGL-2HH
- 2015国际智能星创师大赛火热报名中!
- 未来机器人会咋看人类?递归神经网络之父-像蚂
- 成都新川人工智能创新中心二期主体结构封顶
- 斯坦德机器人完成数亿元人民币C轮融资,小米产
- 到2020年,智能手机将拥有十项AI功能,有些可能
- 寻找AI机器人的增长“跳板”:老龄化为支点的产
- 力升高科耐高温消防机器人参加某支队性能测试