Docker-多主机通信

Posted pizhiyun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker-多主机通信相关的知识,希望对你有一定的参考价值。

Docker多主机通信

Docker容器指定自定义网段的固定IP/静态IP地址

第一步:创建自定义网络

备注:这里选取了172.172.0.0网段,也可以指定其他任意空闲的网段

docker network create --subnet=172.172.0.0/16 docker-ice

注:docker-ice为自定义网桥的名字,可自己任意取名。

第二步:在你自定义的网段选取任意IP地址作为你要启动的container的静态IP地址

备注:这里在第二步中创建的网段中选取了172.172.0.10作为静态IP地址。这里以启动docker-ice为例。

docker run -d --net docker-ice --ip 172.172.0.10 ubuntu:16.04

 

查看路由

ip route show|column -t

 

#v1 192.168.1.111

docker network create --subnet=172.15.1.0/16 docker-mimi1

route add -net 172.16.2.0 netmask 255.255.255.0 gw 192.168.1.112

route add -net 172.19.3.0 netmask 255.255.255.0 gw 192.168.1.244

docker run -it --net docker-mimi1 --ip 172.15.1.1 standard:1.0 /bin/bash

 

#v2 192.168.1.112

docker network create --subnet=172.16.2.0/16 docker-mimi2

route add -net 172.15.1.0 netmask 255.255.255.0 gw 192.168.1.111

route add -net 172.19.3.0 netmask 255.255.255.0 gw 192.168.1.244

docker run -it --net docker-mimi2 --ip 172.16.2.1 standard:1.0 /bin/bash

 

#v3 192.168.1.244

docker network create --subnet=172.19.3.0/16 docker-mimi3

route add -net 172.15.1.0 netmask 255.255.255.0 gw 192.168.1.111

route add -net 172.16.2.0 netmask 255.255.255.0 gw 192.168.1.112

docker run -it --net docker-mimi3 --ip 172.19.3.1 standard:1.0 /bin/bash

 

添加永久静态路由

#设置开机启动

#把写好的启动脚本(route)添加到目录/etc/rc.d/init.d/

#chkconfig --add route

#chkconfig route on

#systemctl enable route

 

route file:

 

#!/bin/bash

#chkconfig: - 90 10

#description:配置路由

 

route add -net 172.15.1.0 netmask 255.255.255.0 gw 192.168.1.111

route add -net 172.16.2.0 netmask 255.255.255.0 gw 192.168.1.112

以上是关于Docker-多主机通信的主要内容,如果未能解决你的问题,请参考以下文章

Docker容器跨主机多网段通信解决方案

Docker 容器跨主机多网段通信解决方案

docker之docker容器flannel模式多网段跨主机通信所遇问题集

Docker网络管理之docker跨主机通信

Docker实践 -- 使用Open vSwitch实现跨主机通信

Docker容器跨主机通信之:OVS+GRE