刚开始研究时,觉得好难实现下面这个图片,因不熟悉网路知识而被打败,后来发现实现这个模式很简单。

docker安装后,默认会创建三种网络类型,bridge、host和none,可通过如下命令查看

sudo docker network ls

bridge:网络桥接 
默认情况下启动、创建容器都是用该模式,所以每次docker容器重启时会按照顺序获取对应ip地址,这就导致容器每次重启,ip都发生变化
none:无指定网络 
启动容器时,可以通过–network=none,docker容器不会分配局域网ip
host:主机网络 
docker容器的网络会附属在主机上,两者是互通的。

而我们想自定义一个ip地址,则需要新建一个bridge,下面来介绍创建方法

1.创建自定义的id

sudo docker network create --subnet=192.168.86.111/16 mynetwork

 这时,我们会发现多出一个自定义的网路类型

2.使用新的网路类型创建并启动一个容器

docker run -itd --net mynetwork --ip 192.168.86.1 -p 2181:2181 registry.aliyuncs.com/acs-sample/zookeeper:3.4.8 /bin/bash

这时我们进入新创建的容器来看它的IP地址,是我们指定的ip

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐