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