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

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

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

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

主要讨论bridge

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

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

docker network create --driver bridge brnet1

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

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

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

通过docker network inspect brnet1查看

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

上一篇:Adam


下一篇:在 IntelliJ IDEA 中配置 JSF 开发环境的入门详解