docker的网络配置怎样理解

我们还没有应用过DOCKER。自己研究了一段时间,勉强把容器的概念了解了。但是网络一直没有调通。大概还是对docker的网络没有理解。有谁能直白的方式解释和分享一下关于docker的网络结构和配置呢。

参与13

2同行回答

bryanbryan软件架构设计师金融研发
docker的网络,不论是K8S还是swarm格式,拆解后都是kernel基本概念,把这些概念都掌握后就对网络都理解了,基本概念就是:拿软件去模拟硬件中的各种设备,主要有如下概念network namespace:主要用于隔离网络名字空间,可以使用命令 ip netns 查看,如果显示为空,可执行ln -s /run/docker...显示全部

docker的网络,不论是K8S还是swarm格式,拆解后都是kernel基本概念,把这些概念都掌握后就对网络都理解了,基本概念就是:拿软件去模拟硬件中的各种设备,主要有如下概念

  1. network namespace:主要用于隔离网络名字空间,可以使用命令 ip netns 查看,如果显示为空,可执行ln -s /run/docker/netns /run/后再执行 ip netns,主要用于网络隔离;
  2. veth:可以理解为一根虚拟网线,网线两端分别插在不同network namespace,主要用于连通隔离的两个网络
  3. bridge:brctl show查看网桥,将多个网络连接在一起,用于二层网络的连接;
  4. overlay: GRE或者VXLAN,或者最近流行的MACLAN,都是在三层上面实现二层功能;
  5. NAT: 通过iptables 进行NAT转发
    6.ipvs:kenel内核功能,在docker swarm模式中用作ingress网络,其中还用了iptable的mangle

网络的理解最好是按照上述的概念逐步画出逻辑图,如果熟悉上述概念,你会发现所有的网络基本上就是这些东西组成的

收起
银行 · 2017-06-27
浏览2355
  • 能在讲讲docker网络中IPTABLES的实例吗
    2017-06-30
  • bryan  bryan回复 pysx0503
    iptables中主要使用了mangle(标记特殊符号)、nat(包转发)和filter(默认表)三张表,一方面需要深入了解itable的定义,另一方面可以去仔细分析这三张表,所有网络的分析基本都是在综合上面所说的各种元素下一起考虑的,如果对iptable的规则不熟悉可能会遇到阅读障碍。最好是先分析每个基本要素,然后一起串联起来。
    2017-06-30
linux_zcylinux_zcy技术总监希云cSphere
推荐先通过搜索引擎看一下。显示全部

推荐先通过搜索引擎看一下。

收起
互联网服务 · 2017-06-30
浏览2216

提问者

pysx0503
pysx0503153369
系统工程师第十区。散人
擅长领域: 存储备份服务器

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2017-06-27
  • 关注会员:3 人
  • 问题浏览:5212
  • 最近回答:2017-06-30
  • X社区推广