多台docker主机中的 容器 网络互通

两台服务器上各有一个docker,现在要两台docker服务器中的容器网络能互通:

我是用docker-compos, 首先规划网段,linux服务器A (192.168.1.100 ) 默认是172.18.0.1/16

1. linux服务器B (192.168.1.200)  docker容器网段改为 172.19.0.1/16

bip 是设置docker0的ip ,就是docker run启动的容器,这里不变还是默认的

default-address-pools 是设置docker-compose 创建的容器的网络 我是用docker-compose所以重点改这里, base 172.19.0.1/16 是说从 172.19.0.1 开始分配,size就是子网掩码 16就是2个字节*8 2个255的意思

 vi /etc/docker/daemon.json 
{
"bip": "172.17.0.1/16",
"default-address-pools": [
    {
        "base": "172.19.0.1/16",
        "size": 16
    }

}

systemctl restart docker

#删除不在使用的网络 ,不然重建网络后ip不变

docker network prune

docker-compose 启动应用

2.添加路由

服务器A上执行:

ip route add 172.19.0.0/16 via 192.168.1.200

服务器B上执行:  意思是 访问 服务器A的docker网络要通过网关192.168.1.100转发
ip route add 172.18.0.0/16 via 192.168.1.100

你可能感兴趣的:(linux,docker,服务器,运维)