千家信息网

Docker overlay 网络搭建的方法

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,Overlay网络是指通过在现有网络上叠加一个软件定义的逻辑网络,最大程度的保留原有网络,通过定义其上的逻辑网络,实现业务逻辑,解决原有数据中心的网络问题。快速开始Docker跨主机网络方案docke
千家信息网最后更新 2026年10月31日Docker overlay 网络搭建的方法

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

快速开始

Docker跨主机网络方案

docker 原生

  1. overlay
  2. macvlan

第三方方案

  1. flannel
  2. weave
  3. 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 membersNode  Address      Status Type  Build Protocol DC  Segmentnode1 172.20.20.10:8301 alive  server 1.1.0 2     dc1 node2 172.20.20.11:8301 alive  server 1.1.0 2     dc1 node3 172.20.20.12:8301 alive  server 1.1.0 2     dc1 

配置 docker

登录n1

修改 /etc/sysconfig/docker-network为

# /etc/sysconfig/docker-networkDOCKER_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 lsNETWORK ID     NAME        DRIVER       SCOPE5a8df7650e34    bridge       bridge       local8e574df4fb90    docker_gwbridge   bridge       locald69aab5b2621    host        host        local7301c62bca4d    none        null        local[root@n1 sysconfig]# docker network create -d overlay myoverlay36feac75fb49edcf8920ed39109424b833501268942fb563708aa306fccfb15c[root@n1 sysconfig]# docker network lsNETWORK ID     NAME        DRIVER       SCOPE5a8df7650e34    bridge       bridge       local8e574df4fb90    docker_gwbridge   bridge       locald69aab5b2621    host        host        local36feac75fb49    myoverlay      overlay       global7301c62bca4d    none        null        local

登录 n2

修改 /etc/sysconfig/docker-network为

# /etc/sysconfig/docker-networkDOCKER_NETWORK_OPTIONS=--cluster-store=consul://172.20.20.11:8500 --cluster-advertise=172.20.20.11:2376

这里不用再次新建立myoverlay网络了,因为他们是一个集群。直接检查网络列表

[root@n2 vagrant]# docker network lsNETWORK ID     NAME        DRIVER       SCOPE9f2b7d40a69f    bridge       bridge       local1d9ee9546c81    docker_gwbridge   bridge       locale1f72fa7710c    host        host        local36feac75fb49    myoverlay      overlay       global372109bb13bc    none        null        local

发现myoverlay已经在其中。

同理操作n3

[root@n3 vagrant]# docker network lsNETWORK ID     NAME        DRIVER       SCOPE14cf16d37c9b    bridge       bridge       localca426545fedb    docker_gwbridge   bridge       localb57d2f555fa2    host        host        local36feac75fb49    myoverlay      overlay       globalfcb5da0380e4    none        null        local

启动容器 验证overlay网络

登录n1以myoverlay启动一个busybox的容器

[root@n1 sysconfig]# docker run --network myoverlay busybox

查看busybox容器详情,在最底部有网络相关的信息

"Networks": {        "myoverlay": {          "IPAMConfig": null,          "Links": null,          "Aliases": [            "e7d558b35607"          ],          "NetworkID": "36feac75fb49edcf8920ed39109424b833501268942fb563708aa306fccfb15c",          "EndpointID": "6b1c975847b506a151940893e3ac189a7053cb34dda4ec2b5797c93f6eeb3534",          "Gateway": "",          "IPAddress": "10.0.0.2",          "IPPrefixLen": 24,          "IPv6Gateway": "",          "GlobalIPv6Address": "",          "GlobalIPv6PrefixLen": 0,          "MacAddress": "02:42:0a:00:00:02"        }      }

可以看到网络是myoverlay ip 为 10.0.0.2

登录n2myoverlay启动一个busybox的容器

[root@n2 sysconfig]# docker run --network myoverlay busybox

查看busybox容器详情,在最底部有网络相关的信息

"Networks": {        "myoverlay": {          "IPAMConfig": null,          "Links": null,          "Aliases": [            "f673ccb5ab32"          ],          "NetworkID": "36feac75fb49edcf8920ed39109424b833501268942fb563708aa306fccfb15c",          "EndpointID": "39f8e9e098ce3faf039aa60e275ec90428f86c6378f5b4c54d8682741e71673f",          "Gateway": "",          "IPAddress": "10.0.0.3",          "IPPrefixLen": 24,          "IPv6Gateway": "",          "GlobalIPv6Address": "",          "GlobalIPv6PrefixLen": 0,          "MacAddress": "02:42:0a:00:00:03"        }      }

这个busybox的ip为10.0.0.3

进入容器,ping 10.0.0.2

[root@n2 vagrant]# docker psCONTAINER ID    IMAGE        COMMAND         CREATED       STATUS       PORTS                         NAMESf673ccb5ab32    busybox       "sh"           2 minutes ago    Up 2 minutes                                objective_pare[root@n2 vagrant]# docker exec -ti f673ccb5ab32 /sh/ # ping 10.0.0.2PING 10.0.0.2 (10.0.0.2): 56 data bytes64 bytes from 10.0.0.2: seq=0 ttl=64 time=1.309 ms64 bytes from 10.0.0.2: seq=1 ttl=64 time=0.535 ms64 bytes from 10.0.0.2: seq=2 ttl=64 time=1.061 ms64 bytes from 10.0.0.2: seq=3 ttl=64 time=0.764 ms^C--- 10.0.0.2 ping statistics ---4 packets transmitted, 4 packets received, 0% packet lossround-trip min/avg/max = 0.535/0.917/1.309 ms

ping 是通的, overlay 网络搭建成功!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

网络 容器 集群 登录 方案 逻辑 信息 底部 虚机 详情 三台 准备 检查 最大 成功 不用 业务 主机 内容 再次 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网高科技 广东万易互联网科技有限公司惠州分公司 互联网与科技发展 上海亿帐通互联网科技 深圳市运趣互联网科技有限公司 江苏南京365互联网科技 互联网公司科技股 上海宁丞科技互联网 互联网媒体平台算高科技产业 互联网科技人工智能实验室 浙南科技城互联网大厦建设工程 卓翼科技产业互联网合作 伊宁互联网科技做什么的 浙南科技城互联网大厦招聘 上海创道互联网络科技有限公司 广州互联网高科技取餐柜 兰石爱特工业互联网科技分公司 互联网的科技体现在哪里 北京瑞云互联网科技有限公司 颐高云石互联网科技 互联网络科技 河南云网互联网络科技有限公司 广州紫鲸互联网科技有限公司 互联网科技工作委员会主任 互联网金融与金融科技 滨湖区互联网智能科技产品供应 玉溪新华互联网科技好不好 山东子淼互联网科技有限公司 上海钢联属于互联网科技股吗 互联网科技实习生岗位
0