Docker overlay网络互通

1
yum install docker-ce -y
yum install python-pip -y
pip install docker-compose
systemctl enable docker.service
systemctl start docker.service
docker pull progrium/consul
环境:
192.168.56.11
192.168.56.12
192.168.56.13
目的实现192.168.56.11 自建网络互通
192.168.56.13
docker run -d -p 8500:8500 --name consul progrium/consul -server -bootstrap
192.168.56.11
/usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H tcp://192.168.56.11 -H unix://var/run/docker.sock
[[email protected] ~]# cat /etc/docker/daemon.json
{
  "registry-mirrors": ["http://224ac393.m.daocloud.io"],
  "cluster-store": "consul://192.168.56.13:8500",
  "cluster-advertise": "192.168.56.11:2375"
}
[[email protected] ~]# 
systemctl  daemon-reload
systemctl  restart docker
192.168.56.12
/usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H tcp://192.168.56.12 -H unix://var/run/docker.sock
[[email protected] ~]# cat /etc/docker/daemon.json
{
  "registry-mirrors": ["http://224ac393.m.daocloud.io"],
  "cluster-store": "consul://192.168.56.13:8500",
  "cluster-advertise": "192.168.56.12:2375"
}
[[email protected] ~]# 
systemctl  daemon-reload
systemctl  restart docker
浏览器浏览

测试
192.168.56.11 上面
docker network create -d overlay --subnet 192.168.1.0/24 ov_net1  #192.168.56.12 上面默认就有了 不用创建了
[[email protected] ~]# docker  network ls 
NETWORK ID          NAME                DRIVER              SCOPE
587ebbdc8cf6        bridge              bridge              local
42863825595a        docker_gwbridge     bridge              local
df6484f00517        host                host                local
adf74519830e        none                null                local
e8d259aa8fe3        ov_net1             overlay             global
[[email protected] ~]# 
[[email protected] ~]# docker network  ls 
NETWORK ID          NAME                DRIVER              SCOPE
624c4d1628bd        bridge              bridge              local
4f7d45ab8d94        docker_gwbridge     bridge              local
df6484f00517        host                host                local
adf74519830e        none                null                local
e8d259aa8fe3        ov_net1             overlay             global
[[email protected] ~]# 
192.168.56.11测试
docker run -it --rm --net=ov_net1 busybox
192.168.56.12测试
docker run -it --rm --net=ov_net1 busybox
查看两个容器的IP地址互相ping下 可以ping通
docker run -it --rm --net=ov_net1  --ip=192.168.1.10   busybox  #指定IP地址

原文地址:http://blog.51cto.com/wsxxsl/2063260

时间: 2024-08-03 22:30:03

Docker overlay网络互通的相关文章

两台主机间docker容器网络互通

服务器1: 网络172.30.0.0/16 服务器2: 网络172.31.0.0/16 服务器1和服务器2上的docker容器网络之间是无法互通的,如果需要互通,需要做以下配置: 服务器1上执行: iptables -I DOCKER-USER -i br-88bd505e153f -o eth0 -j ACCEPT iptables -I DOCKER-USER -i eth0 -o br-88bd505e153f -j ACCEPT br-88bd505e153f是服务器1上docker的网

Kubernetes & Docker 容器网络终极之战(十四)

目录 一.单主机 Docker 网络通信 1.1.host 模式 1.2 Bridge 模式 1.3 Container 模式 1.4.None 模式 二.跨主机 Docker 网络通信分类 2.1 通信方案 2.2.容器网络规范 2.3.网络通信实现方案 2.4.Kubernetes 网络模型 三.跨主机 Docker 网络 3.1 Flannel 网络方案 3.2.Calico 网络方案 3.3.Canal 网络方案 3.4.Docker overlay 网络方案 3.5.Docker ma

Docker原生网络技术简介

Docker原生网络技术简介 默认网络 在宿主机部署好Docker Engine后会默认创建三种网络:Bridge.Host和None,如下: docker network ls NETWORK ID NAME DRIVER SCOPE 93dab79cdb5a bridge bridge local c920c9c10e62 host host local d2a11ea1c70a none null local Bridge 默认的Bridge网络是我们比较熟悉的docker0,它在安装完E

docker overlay原理

周末两天研究了一下docker overlay网络的原理,因为我本身对go语言不太熟悉,直接看docker官方的libnetwork库看不太懂,看linux内核的vxlan代码又粗心大意,导致有一个环节一直想不通,浪费了不少时间,又搞的自己头晕脑胀.今天又浏览了一遍代码,大致画个原理草图,有时间需要再验证一下. 原文地址:https://www.cnblogs.com/4a8a08f09d37b73795649038408b5f33/p/12187516.html

Docker CE overlay网络简单测试

Docker 的多种网络模式中,bridge的网络模式是用于同一台宿主机上的docker之间的互通,如果要实现多台宿主机上docker之间跨节点的通讯就需要借助overlay网络 在 docker swarm 模式中,通过 docker service create 创建的容器默认会使用名为ingress的overlay网络模式,在这种网络模式下,service会在不同节点(宿主机)上建立容器,不同节点上容器的ip会处在同一子网内; 同样的,如果建立多个service,比如,同时建了nginx

使用docker 原生overlay网络部署夸宿主机访问

要使用docker 原生的overlay,要满足任意的2个条件:1,docker 运行在swarm 模式2,使用键值存储docker 主机集群 这里使用consul 键值存储来部署节点1/键值存储(Server):192.168.1.198节点2(Client):192.168.1.1991,下载consul二进制包 进行部署(下载到server节点) wget https://releases.hashicorp.com/consul/0.9.2/consul_0.9.2_linux_amd6

创建 overlay 网络 - 每天5分钟玩转 Docker 容器技术(50)

上一节我们搭建好实验环境,配置并运行了consul,今天开始创建 overlay 网络. 在 host1 中创建 overlay 网络 ov_net1: -d overlay 指定 driver 为 overaly. docker network ls 查看当前网络: 注意到 ov_net1 的 SCOPE 为 global,而其他网络为 local.在 host2 上查看存在的网络: host2 上也能看到 ov_net1.这是因为创建 ov_net1 时 host1 将 overlay 网络

Docker 1.10 RC 新网络 overlay 网络

Overlay 网络 Overlay网络是指在不改变现有网络基础设施的前提下,通过某种约定通信协议,把二层报文封装在IP报文之上的新的数据格式. 这样不但能够充分利用成熟的IP路由协议进程数据分发,而且在Overlay技术中采用扩展的隔离标识位数,能够突破VLAN的4000数量限制, 支持高达16M的用户,并在必要时可将广播流量转化为组播流量,避免广播数据泛滥. 因此,Overlay网络实际上是目前最主流的容器跨节点数据传输和路由方案. Overlay网络的实现方式可以有许多种,其中IETF(国

准备 overlay 网络实验环境 - 每天5分钟玩转 Docker 容器技术(49)

为支持容器跨主机通信,Docker 提供了 overlay driver,使用户可以创建基于 VxLAN 的 overlay 网络.VxLAN 可将二层数据封装到 UDP 进行传输,VxLAN 提供与 VLAN 相同的以太网二层服务,但是拥有更强的扩展性和灵活性.有关 VxLAN 更详细的内容可参考 CloudMan 在<每天5分钟玩转 OpenStack>中的相关章节. Docerk overlay 网络需要一个 key-value 数据库用于保存网络状态信息,包括 Network.Endp