centos7下安装docker(12.2自定义网络)

通常默认的情况下我们使用的是docker的bridge的网络,用户也可以根据自己的业务需要,创建user-defined

docker 提供三种user-defined网络驱动:bridge,overlay,macvlan。

其中overlay和macvlan用于创建跨主机的网络

主要讨论bridge

我们可以通过bridge驱动创建类似前面默认的bridge网络

docker network create --driver bridge brnet1

通过brctl show看到我们新建的网络

新增加了一个网桥br-32a5cb322311 ,这里的32a5cb322311正好是新建的brnet1的短ID,

通过docker network inspect brnet1查看

在这里可以看到新建的brnet1的subnet是172.18.0.0/16,网关是172.18.0.1,这里的172.18.0.0/16网段是docker自动分配的网段

我们也可以自己指定网段和网关:--subent和--gateway

 容器要使用新的网络,需要在新建运行(docker run)的时候,通过--network=去指定

之前我们做的试验的容器的IP都是docker 自动从subent中分配,如果我们想自己指定一个静态IP,如何指定呢?

我们可以通过--ip指定,注:只有通过--subnet创建的网络才能指定静态IP。

 如果使用不指定--subnet的网络,会报如下错误:

 

 如下是拓扑图,可以借鉴一下:

 最后的最后,提醒大家:最好不要将容器设置成与host相同网段的,否则host的主机将被干扰,当然如果收到了干扰也不用怕,可以使用docker network rm <自己设置的bridge的名称>  将这个bridge删除

原文地址:https://www.cnblogs.com/lkun/p/7744586.html