Docker实战之容器网络机制(上)-Linux路由机制打通网络
一,Linux路由机制打通网络

docker128上修改Docker0的网络地址,与docker130不冲突
vi /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/docker daemon --bip=172.18.42.1/16 -H fd:// -H=unix:///var/run/docker.sock
systemctl daemon-reload
重启docker128





二,Docker网络方案一览
双网卡独立大二层交换(linux bridge)

Overlay网络

基于ovs的Overlay网络

学习neutron网络

官方的Libnetwork
Socketplane被docker公司收购,成为其官方网络的起源
开发者不想操作是否是 VLANs, VXLANs, Tunnels 或者是 TEPs. 对于架构人们最关心的是性能和可靠性。而
SocketPlane 在 socket 层面提供了一个网络的抽象层,通过可管理的方式去解决各种网络问题。
主要特性:
•Open vSwitch 集成
•用于 Docker 的零配置多主机网络
•Docker/SocketPlane 集群的优雅增长
•支持多网络
•分布式 IP 地址管理 (IPAM)

官方的Libnetwork

1.将libnetwork集成到Docker Engine
2.在Docker CLI中使用新的network命令
3.撰写『-net』参数的文档,以告知用户如何使用它来为容器指定网络
4.在network和endpoint中支持添加『label』
5.研发新的『bridge』插件,以替换Docker目前的实现
6.研发『分布式bridge』插件,以支持跨容器网络
目前看到有一些计划是打算将OVS项目关联到Docker上来,从Linux Kernel 3.3开始,OVS项目就是内核的一部分。 当我听到这个的时候我觉得是不是脑袋让驴踢了。首先声明我并不是反对使用OVS,实际上,它是一个非常不错的网络工具套件。它的设置比较复杂,对于新手来说有一个陡峭的学习曲线,但是一旦学会,OVS就可以帮你事半功倍。关于这个话题我听到的一个讨论是:“如果OVS工作在Docker上,那么工作一切都变得很美好”。让我告诉你,亲们:如果让我花费大量时间学习它,最后的结果只能是:“还好,可以用”。我并不想说的那么愤世嫉俗,实际情况是在某些常用环境下OVS会崩溃。因此,使用OVS只是一种疯狂的想法罢了。
http://containertutorials.com/network/ovs_docker.html
https://github.com/openvswitch/ovs/blob/master/utilities/ovs-docker
Currently libnetwork is nothing more than an
attempt to modularize the Docker platform's
networking subsystem by moving it into
libnetwork as a library.
这仅仅是开始