docker overlay跨主机网络

.环境

    docker版本
Docker version 18.02.-ce, build fc4de44 3台主机
192.168.55.51 host1
192.168.55.52 host2
192.168.55.53 host2 .部署Consul Docerk overlay 网络需要一个 key-value 数据库用于保存网络状态信息,包括 Network、Endpoint、IP 等。Consul、Etcd 和 ZooKeeper 都是 Docker 支持的 key-vlaue 软件,我们这里使用 Consul。
在 docker 主机 host1 上部署支持的组件,比如 Consul
docker run -d -p : -h consul --name consul progrium/consul -server -bootstrap 容器启动后,可以通过 http://192.168.55.51:8500 访问 Consul。 .修改docker启动项并重启docker(3台上操作)
#修改docker daemon 的配置文件/etc/systemd/system/docker.service [root@host1 ~]# cat /etc/systemd/system/docker.service.d/-machine.conf
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --storage-driver devicemapper --tlsverify --tlscacert /etc/docker/ca.pem --tlscert /etc/docker/server.pem --tlskey /etc/docker/server-key.pem --label provider=generic --registry-mirror http://db411c61.m.daocloud.io --cluster-store=consul://192.168.55.51:8500 --cluster-advertise=192.168.55.51:2376
Environment= #配置说明
--cluster-store 指定 consul 的地址。
--cluster-advertise 告知 consul 自己的连接地址。(即docker的连接,2376为docker的端口) #重启docker
systemctl daemon-reload
systemctl restart docker .查看host1 和 host2、host3 将自动注册到 Consul 数据库中
访问http://192.168.55.51:8500
查看key/value==docker==nodes/ (可以看到3台主全部注册上来了) .在 host1 中创建 overlay 网络 ov_net1
docker network create -d overlay ov_net1
-d overlay 指定 driver 为 overaly。
docker network ls
查看当前网络:
[root@host1 ~]# docker network ls
NETWORK ID NAME DRIVER SCOPE
8925d1ce67ad bridge bridge local
0fb41307416f host host local
fc3f61663c71 none null local
cb5cce10b030 ov_net1 overlay global
注意到 ov_net1 的 SCOPE 为 global,而其他网络为 local。在 host2 上查看存在的网络:
host2 上也能看到 ov_net1。这是因为创建 ov_net1 时 host1 将 overlay 网络信息存入了 consul,host2 从 consul 读取到了新网络的数据。之后 ov_net 的任何变化都会同步到 host1 和 host2、host3。 docker network inspect ov_net1
查看 ov_net1 的详细信息:
[root@host1 ~]# docker network inspect ov_net1
[
{
"Name": "ov_net1",
"Id": "cb5cce10b0301720ded000830038183c9752448a77c4010f6d1e194923bf1ef7",
"Created": "2018-03-20T15:43:52.509618103+08:00",
"Scope": "global",
"Driver": "overlay",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "10.0.0.0/24",
"Gateway": "10.0.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {},
"Labels": {}
}
] IPAM 是指 IP Address Management,docker 自动为 ov_net1 分配的 IP 空间为 10.0.0.0/。 .运行一个 busybox 容器并连接到 ov_net1
host1
docker run -tid --name bbox1 --network ov_net1 busybox #查看容器的网络配置:
docker exec bbox1 ip r
host2
docker run -tid --name bbox2 --network ov_net1 busybox #查看容器的网络配置:
docker exec bbox2 ip r #查看网络互通
host1上查看
docker exec bbox1 ping -c bbox2

跨主机网络-overlay(18)的更多相关文章

  1. centos7下安装docker(15.2跨主机网络-overlay)

    为支持容器跨主机通信,Docker提供了overlay driver,使用户可以创建基于VxLAN的overlay网络.VxLAN可将二层数据封装到UDP进行传输,VxLAN提供与VLAN相同的以太网 ...

  2. Docker 跨主机网络 overlay(十六)

    目录 一.跨主机网络概述 二.准备 overlay 环境 1.环境描述 2.创建 consul 3.修改 docker 配置文件 4.准备就绪 三.创建 overlay 网络 1.在 host1 中创 ...

  3. Docker跨主机网络——overlay

    前言 在Docker网络--单host网络一文中,我为大家总结了Docker的单机网络相关知识和操作,单机网络比较容易.本文我为大家总结Docker跨主机通信相关知识.同样本文大部分内容以CloudM ...

  4. docker容器跨主机网络overlay

    前提:已部署好docker服务服务预计部署情况如下10.0.0.134 Consul服务10.0.0.135 host1  主机名mcw510.0.0.134 host2  主机名mcw6host1与 ...

  5. 跨主机网络overlay和macvlan模型

    overlay网络模型 无论是openstack还是docker都是先创建一个网络然后再创建虚机或者容器  并把创建的虚机或者容器运行在此网络中 Docker 提供了 overlay driver,使 ...

  6. Docker系列04—跨主机网络方案(overlay/weave)

    在前面详细讲解了几种网络模式:none,host,bridge,container.他们解决了单个主机间的容器的通信问题,并不能实现多个主机容器之间的通信. 跨主机网络方案包括两大类: 1,docke ...

  7. 跨主机网络概述 - 每天5分钟玩转 Docker 容器技术(48)

    前面已经学习了 Docker 的几种网络方案:none.host.bridge 和 joined 容器,它们解决了单个 Docker Host 内容器通信的问题.本章的重点则是讨论跨主机容器间通信的方 ...

  8. [Kubernetes]谈谈容器跨主机网络

    继上篇文章:[Kubernetes]浅谈容器网络,自己给自己挖的坑,这篇文章来谈谈容器跨主机网络. 要理解容器"跨主通信"的原理,就要来谈谈 Flannel 这个项目. Flann ...

  9. Docker 跨主机网络

    Docker提供两种原生的跨主机网络: Overlay  和  Macvlan libnetwork & CNM libnetwork 是 docker 容器网络库,最核心的内容是其定义的 C ...

随机推荐

  1. 【HDOJ6611】K Subsequence(费用流)

    题意:给定一个长为n的正整数序列,要求从中取出至多k个不下降序列,使得它们的和最大,求这个和 n<=2e3,k<=10,a[i]<=1e5 思路:极其考验模板,反正我的spfa和zk ...

  2. Centos7.4 配置之MySQL 8.0【转】

    首先查看Mysql最新版本, 此时,目前最新版本为8.0. 开始安装前需要一些准备工作. 1,将本地的MariaDB或者已经安装的MySQL其他版本卸载. (一)卸载本地的本地的MariaDB: 由于 ...

  3. Hbuild X 打包 混合式app

    1.调用原生方法的接口文档:http://ask.dcloud.net.cn/docs/ (亲测有效,使用js 调用原生的设备方法是可以的) 2.HbuildX 可以直接真机调试的.(亲测有效,安装好 ...

  4. ALM11服务器IP变更相关配置修改

    最近项目新增了网络控制,需要把ALM服务器迁移到新的区域.服务器整体复制后更改了IP地址. ALM与Oracle在同一台服务器(windows server 2008 R2) ALM的配置也需要做如下 ...

  5. linux在二进制文件中查找pattern的offset

    参考:http://stackoverflow.com/questions/14141008/grep-offset-of-ascii-string-from-binary-file strings ...

  6. 推荐系统之隐语义模型LFM

    LFM(latent factor model)隐语义模型,这也是在推荐系统中应用相当普遍的一种模型.那这种模型跟ItemCF或UserCF的不同在于: 对于UserCF,我们可以先计算和目标用户兴趣 ...

  7. 中文字符集编码unicode,gb2312,cp936,GBK,GB18030介绍

    概要: UTF-8的一个特别的好处是它与ISO- 8859-1完全兼容,可以表示世界上所有的字符,汉字通常用3个字节来表示.GB2312的code page是CP20936.GBK的code page ...

  8. AJAX 步骤分析

    HTML 步骤: 1. 创建异步对象 2. 设置请求行 3. 设置请求头(get请求可以省略) 4. 注册状态改变事件 4.1. 判断状态&请求是否成功并使用数据   5. 发送请求   PH ...

  9. LeetCode Array Easy 414. Third Maximum Number

    Description Given a non-empty array of integers, return the third maximum number in this array. If i ...

  10. Win7装VS2015报错"安装包丢失或损坏"的解决办法

    在Win7上安装VS2015的过程中,可能会出现下图错误: 这种情况,多半是应为Win7里面缺少了两个证书: Microsoft Root Certificate Authority 2010 Mic ...