docker 实战---多台物理主机的联网,容器桥接到物理网络(三)

docker 默认的桥接网卡是docker0

它只会在本机桥接所有的容器网卡,举例来说容器的虚拟网卡在主机上看一般叫做veth***  而docker只是把所有这些网卡桥接在一起,如下图:

docker 实战---多台物理主机的联网,容器桥接到物理网络(三)_第1张图片

在容器中看到的地址一般是像下面这样的地址:

docker 实战---多台物理主机的联网,容器桥接到物理网络(三)_第2张图片

这样就可以把这个网络看成是一个私有的网络,通过nat 连接外网,如果要让外网连接到容器中,就需要做端口映射,即-p参数

(更多原理参见本人的另外一篇博文-高级网络配置  http://blog.csdn.net/smallfish1983/article/details/38701067)

如果在企业内部应用,或则做多个物理主机的集群,可能需要将多个物理主机的容器组到一个物理网络中来,那么就需要将这个网桥桥接到我们指定的网卡上。下面以ubuntu为例创建多个主机的容器联网。

第一步:创建自己的网桥

编辑/etc/network/interface文件

docker 实战---多台物理主机的联网,容器桥接到物理网络(三)_第3张图片

将docker的默认网桥绑定到这个新建的br0上面,这样就将这台机器上容器绑定到em1这个网卡所对应的物理网络上了。ubuntu修改/etc/default/docker文件 添加最后一行内容

docker 实战---多台物理主机的联网,容器桥接到物理网络(三)_第4张图片

这改变默认的docker网卡绑定,你也可以创建多个网桥绑定到多个物理网卡上,在启动docker的时候 使用-b参数 绑定到多个不同的物理网络上。

重启docker服务后,再进入容器可以看到它已经绑定到你的物理网络上了,

docker 实战---多台物理主机的联网,容器桥接到物理网络(三)_第5张图片

这样就直接把容器暴露到你的物理网络上了,多台物理主机的容器也可以相互联网了。需要注意的是,这样就需要自己来保证容器的网络安全了。



你可能感兴趣的:(docker多台物理主机的联网,docker容器桥接到物理网络,服务器部署/架构,docker,docker学习手册)