• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >虚拟化 > Docker overlay 网络搭建的方法

Docker overlay 网络搭建的方法

作者:nasawz 字体:[增加 减小] 来源:互联网

本文主要包含Docker,overlay,网络搭建等服务器相关知识,nasawz 希望可以进行参考

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

快速开始

Docker跨主机网络方案

docker 原生

  1. overlay
  2. macvlan

第三方方案

  1. flannel
  2. weave
  3. calico

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

环境准备

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

ip
n1 172.20.20.10
n2 172.20.20.11
n3 172.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
[root@n1 sysconfig]# docker network ls
NETWORK ID     NAME        DRIVER       SCOPE
5a8df7650e34    bridge       bridge       local
8e574df4fb90    docker_gwbridge   bridge       local
d69aab5b2621    host        host        local
36feac75fb49    myoverlay      overlay       global
7301c62bca4d    none        null        local

登录 n2

修改 /etc/sysconfig/docker-network为

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

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

[root@n2 vagrant]# docker network ls
NETWORK ID     NAME        DRIVER       SCOPE
9f2b7d40a69f    bridge       bridge       local
1d9ee9546c81    docker_gwbridge   bridge       local
e1f72fa7710c    host        host        local
36feac75fb49    myoverlay      overlay       global
372109bb13bc    none        null        local

发现myoverlay已经在其中。

同理操作n3

[root@n3 vagrant]# docker network ls
NETWORK ID     NAME        DRIVER       SCOPE
14cf16d37c9b    bridge       bridge       local
ca426545fedb    docker_gwbridge   bridge       local
b57d2f555fa2    host        host        local
36feac75fb49    myoverlay      overlay       global
fcb5da0380e4    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 ps
CONTAINER ID    IMAGE        COMMAND         CREATED       STATUS       PORTS                         NAMES
f673ccb5ab32    busybox       "sh"           2 minutes ago    Up 2 minutes                                objective_pare
[root@n2 vagrant]# docker exec -ti f673ccb5ab32 /sh
/ # ping 10.0.0.2
PING 10.0.0.2 (10.0.0.2): 56 data bytes
64 bytes from 10.0.0.2: seq=0 ttl=64 time=1.309 ms
64 bytes from 10.0.0.2: seq=1 ttl=64 time=0.535 ms
64 bytes from 10.0.0.2: seq=2 ttl=64 time=1.061 ms
64 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 loss
round-trip min/avg/max = 0.535/0.917/1.309 ms

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

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

您可能感兴趣的文章:

  • docker中搭建overlay 网络实验环境
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Docker实践8:Compose,docker实践compose
  • Docker buildx构建多平台镜像并推送到私有仓库的方法
  • Docker三个基本概念镜像(Image)容器(Container)仓库(Repository)
  • 什么是Docker?为什么要使用Docker
  • docker 开源的应用容器引擎
  • 如何给docker设置http代理
  • docker官方mysql镜像自定义配置详解
  • 详解Docker数据管理(数据卷&数据卷容器)
  • 如何利用Docker容器实现代理转发与数据备份详解
  • 详解Docker Swarm 在持续集成测试中的应用

相关文章

  • 详解Docker 数据卷管理
  • virtualbox虚拟机上安装centOS的网络配置详解
  • 孙其功陪你学之——Spark MLlib之K-Means聚类算法,mllibk-means
  • Linux 开发环境中为VirtualBox安装增强功能
  • Vmware vSphere 5.0安装配置方法图文教程
  • 深入理解docker容器中的uid和gid
  • 修改Docker默认镜像和容器的存储位置的方法
  • docker的高可用配置详解
  • Win10上VMware workstation安装图文教程
  • 什么是OpenStack 开源的云计算管理平台项目

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • centos修改docker网络配置方法分享
    • 理解Docker(2):Docker 镜像详细介绍
    • CentOS7 PostgreSQL安装、配置、使用详解
    • Docker使用Dockerfile创建支持ssh服务自启动的容器镜像
    • ubuntu17.10安装docker-ce的方法
    • CloudStack SSVM启动条件源码阅读与问题解决方法
    • Citrix XenServer 6.1 的安装与配置方法
    • Docker Machine远程部署Docker的方法
    • IBM KVM三特点:Linux、虚拟化与开源
    • VMware EXSI为虚拟机centos安装VMware Tools

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有