docker网络自定义

docker网络自定义

书接上回,我们认识了docker0网络以及–link参数的使用:
https://blog.csdn.net/hello_list/article/details/124815842
今天来了解下docker自定义网络;

那我们这里就可以自己定义自己的网络,其实就是在docket0下,再开多个网关,docket提供了我们这样的机制:

我们可以查看docket的网络:

docker network ls

在这里插入图片描述

我们可以看到docker网络模式有这么几个:

bridge:桥接  ---默认的
host:主机模式
null:没有网络

为了方便我们构建一个自己的镜像;

这里我也使用了通过dockerfile方法去构建可以去看这个,通过这个例子刚好写了一遍dockerfile构建镜像:

这里可以通过dockerfile去用脚本构建,但是这里我们已经做好一个tomcat03了,这里我们使用commit把这个容器打包成镜像使用:

docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:[TAG]

在这里插入图片描述

现在我们把运行的全部容器删除:

docker rm -f  $(docker ps -aq)

在这里插入图片描述

我们可以通过–help查看帮助文档,这里就说帮助文档了,我们直接看怎么使用

在这里插入图片描述

我们创建一个自己的网络:

docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 tomcatnet

我们可以看到自己创建的tomcat集群局域网内网环境就搭建好了

在这里插入图片描述

查看自己tomcatnet的网络:

docker network inspect 网络id

在这里插入图片描述

这样我们再启动容器,放在我们自己的网段下:

docker run -it -d -P --name tomcat01 --net tomcatnet mynettomcat:1.0 
docker run -it -d -P --name tomcat02 --net tomcatnet mynettomcat:1.0

启动了两个容器,我们再看下网络:

在这里插入图片描述

我们发现这里就添加了分配了容器ip

在这里插入图片描述

我们尝试进入容器,容器与容器之间ping 下网络:

在这里插入图片描述

那我们尝试下容器名,我们发现也是可以ping通的

在这里插入图片描述

发现这样是不是很方便呢,这样我们就可以搭建不同的集群,mysql一个网段,tomcat一个网段,互不干扰;

容器互相连通

但是我们的一个tomcat容器需要连接一个mysql容器,那怎么办呢?像这样:

我们再开启一个容器,在默认的bridge网段:

docker run -it -P -d --name tomcat-bridge01 tomcat:9.0

我们进入 tomcat-bridge01 去ping tomcat01,不行

在这里插入图片描述

首先他们根本不在一个网段,怎么可能ping的通:

我们知道默认的是在172.17.0.2这个网段,我们想进行容器间的互联互通就可以这样:

docker network connect tomcatnet tomcat-bridge01

我们再进入容器,然后ping下tomcat01

我们发现可以ping通了,那原理是什么呢?

我们查看下tomcatnet网络

docker network inspect 

我们发现就是把容器的网络,添加在了这个网段中:

在这里插入图片描述

这样我们在做集群的时候就可以通过自定义网络,很方便的就把不同容器间的集群就可以完成了;

后面我们可以搭建一个mysql集群,看到这里就给博主三连一下吧,bye~

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习日记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值