Docker overlay 网络搭建的方法

2020-06-17 07:03:27易采站长站整理

Overlay网络是指通过在现有网络上叠加一个软件定义的逻辑网络,最大程度的保留原有网络,通过定义其上的逻辑网络,实现业务逻辑,解决原有数据中心的网络问题。

快速开始

Docker跨主机网络方案

docker 原生

overlay
macvlan

第三方方案

flannel
weave
calico

之前介绍了Consul搭建集群,所以在此直接选用docker自带的overlay方案来做,和Consul完美结合。

环境准备

参考之前的一篇《Consul 搭建集群》准备三台虚机。

ip
n1172.20.20.10
n2172.20.20.11
n3172.20.20.12

在这三台虚机上启动consul并创建集群

n1


[root@n1 vagrant]# consul agent -server -bootstrap-expect 3 -data-dir /etc/consul.d -node=node1 -bind=172.20.20.10 -ui -client 0.0.0.0

n2


[root@n2 vagrant]# consul agent -server -bootstrap-expect 3 -data-dir /etc/consul.d -node=node2 -bind=172.20.20.11 -ui -client 0.0.0.0 -join 172.20.20.10

n3


[root@n3 vagrant]# consul agent -server -bootstrap-expect 3 -data-dir /etc/consul.d -node=node3 -bind=172.20.20.12 -ui -client 0.0.0.0 -join 172.20.20.10


[root@n1 vagrant]# consul members
Node Address Status Type Build Protocol DC Segment
node1 172.20.20.10:8301 alive server 1.1.0 2 dc1 <all>
node2 172.20.20.11:8301 alive server 1.1.0 2 dc1 <all>
node3 172.20.20.12:8301 alive server 1.1.0 2 dc1 <all>

配置 docker

登录n1

修改

 /etc/sysconfig/docker-network


# /etc/sysconfig/docker-network
DOCKER_NETWORK_OPTIONS=--cluster-store=consul://172.20.20.10:8500 --cluster-advertise=172.20.20.10:2376

其中ip部分为consul容器节点的ip。

在命令行中输入

docker network create -d overlay myoverlay
创建一个名为myoverlay的网络,并用
 docker network ls
检查docker网络列表


[root@n1 sysconfig]# docker network ls
NETWORK ID NAME DRIVER SCOPE
5a8df7650e34 bridge bridge local
8e574df4fb90 docker_gwbridge bridge local
d69aab5b2621 host host local
7301c62bca4d none null local
[root@n1 sysconfig]# docker network create -d overlay myoverlay
36feac75fb49edcf8920ed39109424b833501268942fb563708aa306fccfb15c