容器网络
none和host网络的适用场景
Docker 安装时会自动在 host 上创建三个网络,我们可用 docker network ls 命令查看:

none 网络就是什么都没有的网络。挂在这个网络下的容器除了 lo,没有其他任何网卡。容器创建时,可以通过 --network=none 指定使用 none 网络。
封闭意味着隔离,一些对安全性要求高并且不需要联网的应用可以使用 none 网络。
比如某个容器的唯一用途是生成随机密码,就可以放到 none 网络中避免密码被窃取。
host 网络的容器共享 Docker host 的网络栈,容器的网络配置与 host 完全一样。可以通过 --network=host 指定使用 host 网络。
在容器中可以看到 host 的所有网卡,并且连 hostname 也是 host 的。
host 网络的使用场景又是什么呢?
直接使用 Docker host 的网络最大的好处就是性能,如果容器对网络传输效率有较高要求,则可以选择 host 网络。
当然不便之处就是牺牲一些灵活性,比如要考虑端口冲突问题,Docker host 上已经使用的端口就不能再用了。
Docker host 的另一个用途是让容器可以直接配置 host 网路。
比如某些跨 host 的网络解决方案,其本身也是以容器方式运行的,这些方案需要对网络进行配置,比如管理 iptables
参考:
031 - none和host网络的适用场景
032 - 学容器必须懂 bridge 网络
033 - 如何自定义容器网络?
034 - 理解容器之间的连通性
035 - 容器间通信的三种方式
036 - 容器如何访问外部世界?
037 - 外部世界如何访问容器?
第 8 章
容器网络
048 - 跨主机网络概述
049 - 准备 Overlay 网络实验环境
050 - 创建 overlay 网络
051 - 在 overlay 中运行容器
052 - overlay 如何实现跨主机通信?
053 - overlay 是如何隔离的?
054 - 准备 macvlan 环境
055 - 创建 macvlan 网络
056 - macvlan 网络结构分析
057 - macvlan 网络隔离和连通
058 - flannel 概述
059 - 安装配置 flannel
060 - 在 Docker 中使用 flannel
061 - flannel 的连通与隔离
063 - 如何使用 Weave 网络?
064 - Weave 网络结构分析
065 - 容器在 Weave 中如何通信和隔离?
066 - Weave 如何与外网通信?
067 - 如何部署 Calico 网络?
068 - 分析 Calico 的网络结构
069 - Calico 的默认连通性
070 - 如何定制 Calico 网络 Policy?
071 - 如何定制 Calico 的 IP 池?
072 - 一文搞懂各种 Docker 网络

浙公网安备 33010602011771号