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. paper 168: 2018-FATTEN 论文解析-feature space transfer for data augmentation

    paper download:https://arxiv.org/abs/1801.04356 本文的核心就是使用GAN网络生成新的数据. 这个总体框图,常规结构,具体是通过在appearance和p ...

  2. [BZOJ1572] WorkScheduling

    中文题目:工作安排 原文题目:Work Scheduling 传送门 本题可以采用贪心 算法一:按工作时间排序,如果工作能按时完成的工作就按时完成,如果工作不能按时完成就把之前价值最小的工作和当前作比 ...

  3. Spring-Boot"原生态"的logback

    前言 Logback是由 log4j创始人设计的又一个开源日志组件: logback当前分成三个模块: logback-core logbackclassic logback-access logba ...

  4. LintCode之回文数

    题目描述: 我的代码: public class Solution { /* * @param num: a positive number * @return: true if it's a pal ...

  5. AST7D08 心率计

    接线: 1.GND 2.+3.3V 3.RST 4. 5.CS 6.READY 7.DI 8.DO 9.CLK

  6. ! Failed at the chromedriver@2.35.0 install script.

    npm install 过程中报错 解决方法 运行 npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/d ...

  7. Python笔记(四)_字符串的方法

    字符串的方法 []表示该参数时可选的,start和end参数表示范围 count(sub[, start[, end]]) 返回sub在字符串里边出现的次数 find(sub[, start[, en ...

  8. idea配置svn正确步骤(下载svn的过程就不写了)

    打开----->File------>Settings 2. 3在vcs中选择 4进入此界面 5选择 这样svn就配置好了

  9. Codeforces 1132G(dfs序+线段树)

    题面 传送门 分析 对于每一个数a[i],找到它后面第一个大于它的数a[p],由p向i连边,最终我们就会得到一个森林,且p是i的父亲.为了方便操作,我们再增加一个虚拟节点n+1,把森林变成树. 由于序 ...

  10. thinkphp中的exp查询

    今天遇到一个问题,就是在vendor表中查询出vendor_id = vendor_f_id的数据,其实使用原生的sql语句是非常简单的: select * from vendor where ven ...