none 和 host 网络的适用场景 - 天天5分钟玩转 Docker 容器技术(31)

本章开始讨论 Docker 网络。docker

咱们会首先学习 Docker 提供的几种原生网络,以及如何建立自定义网络。而后探讨容器之间如何通讯,以及容器与外界如何交互。安全

Docker 网络从覆盖范围可分为单个 host 上的容器网络和跨多个 host 的网络,本章重点讨论前一种。对于更为复杂的多 host 容器网络,咱们会在后面进阶技术章节单独讨论。网络

Docker 安装时会自动在 host 上建立三个网络,咱们可用 docker network ls 命令查看:性能

146.png

下面咱们分别讨论它们。学习

none 网络

故名思议,none 网络就是什么都没有的网络。挂在这个网络下的容器除了 lo,没有其余任何网卡。容器建立时,能够经过 --network=none 指定使用 none 网络。spa

咱们不由会问,这样一个封闭的网络有什么用呢?code

其实还真有应用场景。封闭意味着隔离,一些对安全性要求高而且不须要联网的应用可使用 none 网络。ip

好比某个容器的惟一用途是生成随机密码,就能够放到 none 网络中避免密码被窃取。table

固然大部分容器是须要网络的,咱们接着看 host 网络。效率

host 网络

链接到 host 网络的容器共享 Docker host 的网络栈,容器的网络配置与 host 彻底同样。能够经过 --network=host 指定使用 host 网络。

在容器中能够看到 host 的全部网卡,而且连 hostname 也是 host 的。host 网络的使用场景又是什么呢?

直接使用 Docker host 的网络最大的好处就是性能,若是容器对网络传输效率有较高要求,则能够选择 host 网络。固然不便之处就是牺牲一些灵活性,好比要考虑端口冲突问题,Docker host 上已经使用的端口就不能再用了。

Docker host 的另外一个用途是让容器能够直接配置 host 网路。好比某些跨 host 的网络解决方案,其自己也是以容器方式运行的,这些方案须要对网络进行配置,好比管理 iptables,你们将会在后面进阶技术章节看到。

下一节讨论应用更广的 bridge 网络。
 

二维码+指纹.png

相关文章
相关标签/搜索