00:00
欢迎大家继续收看上硅谷的Linux云计算视频,我是万洋老师。那这节课呢,我们去给大家讲解我们的在刀下怎么进行我们的常见的隔离,网络隔离。怎么去理解呢?我们可以举个例子给大家去看。首先。我现在呢,给大家演示一下,我们现在先把所有的容器都给删了,现在不需要了,Do PS,杠杠,Q。好。Do PS,杠A,我们都已经删除了,对吧?好,那我们现在去启动一个容器,Do run,刚刚name Tom cat。一杠D放在后台运行汤姆凯的冒号V1版本对吧,V1。点零。好,再启动一个CAD2。那我们doer e e-it并下的BA。我们先进汤不开的一种。
01:03
我们在这里再启动一个。窗口。我们再进入我们的汤CAD2。伊夫菲格。172.17.0.3。这边应该是点二,如果没有问题的话。看到了吗?那我现在P172.17.0.2。是能通的。也就意味着这两边如果使用了对应的程序的话,他们就可以互相访问了。可以通过网络的访问方式,对吧。那如果,如果我现在在容器内在dock里面构建了两个项目。这两个项目之间,我不希望他们能够互相访问。怎么做呢?我们刚才也说了对吧,它默认会工作在同一个网络名的命名空间内部,那我是不是可以把它拆到不同的网络名的命名空间呢?是不是就可以做隔离了?
02:10
好,那我们大家去做一下,看能不能成功对吧?好,那在做之前我们需要学习几个命令。第一个叫do network类似。我们来看一下do network list。Network的ID号16位,完整128位,同样的name名称bridge。Java类型,Bridge。本地的对吧,好,站在这里你会发现诶。Bridge默认的工作方式是不是也是bridge?所以只要是在这个名字命名空间内部的,它都是相同的。那我们看。Do network create,杠D。后面跟上我们的创建类型以及网络名字命名空间的名称。类型呢有两种,一个叫OLAY类型,一个叫bridge类型,OLAY呢是覆盖型网络。
03:03
它主要是演示在我们不同的主机中间,可以互相通讯。不同的主机的容器可以互相通讯,但是需要借助一些其他的软件去实现,那第二叫叫我们的bridge network。也就是我们的网桥,那我们再次创建一个新的网桥的名的命运空间给大家看一下好。类型依然是bridge。比如这里我创建了一个叫呃。Lamp项目。我在创建一个LNMP项目。那这样的话,我docker network历史你会发现。一个lamp,一个lamp。那这样的话,我们在衣服我们再看一下。看到了吗?又多了一个二的一,又多了一个幺八了。那我们现在去创建我们的主机,我们看一下。
04:00
Do run,刚刚name。比如叫TOMCAT11。然后呢,杠杠network。等于我们刚才创了一个叫lamp对吧。杠地放的后台运行启动为V1.0。我们再启动一个111。LNMP。那do eec-it。我们进入TOMCAT11下的并下的BA中。衣服我们看一下。17220.0.2。是不是已经不再妖气网断了?那我们再进下111,我们看一下。键盘有几个键不太熟了,不太灵了,好。172.21.0.2,那这样的话,我们是不是也看到了,它已经不在同一个网段了,那我们P一下看一下。
05:06
智能通还鬼了呢,对吧,又没有路由,我们我们之前说过网桥可以模拟成一个交换,对吧,但又不是路由,它肯定通讯不了啊。所以从这里也可以看出来了,已经没法正常通讯了。如果这是两个不同的项目的话,这两个项目是不是就互相割裂了,并且我们跟外网的通讯还是正常的,这个肯定是没问题的。所以隔离的只是我们的容器与容器之间。那这样的话,我是不是在做不同的项目的时候,我可以把不同的项目扔在不同的网络名字命名空间内部即可。这也是为什么,咱们之前还记得吗?在讲我们的哈的时候,诶,怎么哈的地址不一样啊,对吧?原因就在这里,他在创哈维的时候,已经提前创建了一个哈勃的网络迷的秘密空间了。需要大家注意一下对吧,好。
06:02
那这就是我们怎么去通过不同的网络名的命名空间去隔离。那接下来呢,再给大家演示一下比较好玩的东西,就是。怎么自己去指定网球,以及怎么让。两个容器之间。两个容器就是幺幺机器的容器和幺二容器之间,它们能互相见面。现在我肯定是见不了的,比如我们看一下do PS-A。那inspect。Tomcat。我们进去。这怎么想他都肯定肯定是建不了的,原因是什么?这是一个私有IP啊。他想要访问,想想访问公网还需要进入到我们的DO0呢,还需要进入到我们的S纳特以及D纳呢?你现在直接访问他的丝网,肯定访问不进去,对吧。
07:02
那怎么办呢?我们通过其中的一种方案,有很多方案可以实现,现在给大家介绍一种方案,当然后期K8S呢,有多种方案去实现,我们先不管,我们现在看这种方案怎么去实现。首先呢,我需要把我的。机器给退出,我们先把不需要的一些数据都给删了,Do m杠、F。Docker。杠A。杠Q,我们先把不需要的容器都给删了,然后呢,现在我需要有个真正的网桥,这个网桥能够具有跟公跟外外界主机通讯的能力。这句话怎么理解呢?讲白说。这里的这个网桥。这里的这个网桥。讲难听一点就是假的。它只具备能让容器互相通讯的能力,我现在要来一个网桥,是采用真正的物理网卡去实现的,这个网桥能够跟外网的,跟外面的真正的主机能够通讯的这么一个网壳。
08:08
所以第一步我们就是创建王朝。那网前的创建方式呢?有很多种,可以通过命令,可以通过工具去创建,在这里我们通过修改配置文件去创建。首先先到我们的ETC下的。C config network if config,我们先到这个目录下。拷贝杠a if con ens33。卡贝贝伊坎贝B、亚林。好,然后打开if ens33,我们去做修改。在这里呢?你需要只需要保留这么几个数据即可,一个是JA汗位,对吧,工作类型,但你需要在这里。Bridge添加一个字段叫bridge等于B20,也就是告诉他我们现在的网桥叫B20,然后再把这里的IP地址都给去了。
09:04
听明白我的意思了吗?把自己的IP地址都给去了,剩下的你可以保留即可。也就删除了IP的相关配置,并且添加了一个字段叫bridge等于B20。相信我已经解释的比较清晰了,对吧?好,我们再保持退出,再打开我们刚才拷贝的B20文件。全部删除,我们可以在这里复制一下,直接拿回去即可。好,这里的设备名称叫B哑林,工作类型叫瑞杰对吧?然后IP地址我们都可以改一下,网关这里就不写了。毕竟我们在这里没有正式网关,对吧?啊10.10.10.1。保存退出,然后重启我们的网络。重启成功以后一不卡,我们看一下。三三这里已经没有IP地址了,哎。
10:02
这里的B2,零。看到了吗?已经配上幺幺了,这就是一个正式能够工作的这么一个IP地址。但是默认情况下,我们的do并不能借助到这个B20去通讯,所以可以给大家去用一个命令叫pip work。这个pip work呢,是放在我们的。Github上托管的,所以我们要先安装一个get工具,把这个代码给脱下来。我们再通过命令GICN去克隆这个代码项目。
11:02
这这一步的目的就是我们把代码给克隆下来,对吧,或者叫拷贝下来,或者下载下来都一样,对吧,这里叫克隆叫克隆。拷贝完成以后,我们把这个命令放到我们的user local并下即可copy pip work PI work。卡位置your logo下的。并下即可。然后给他一个。执行权限。这是一个可执行代码,可执行脚本,好,执行成功以后我们就可以做设置了,看怎么让我们能够直接为它赋予一个真实的IP地址。好,首先我们先启动一个容器,Doer wrong,刚刚name我们就叫tomcat。刚刚net需要注意一下,必须把它给给成那,然后后面再通过pip work为它赋予一个独立IP,让他通过do林啊B亚林网桥去通讯。好杠D,我们通过Tom k的这么一个呃命令去启动。啊,这个镜像去启动,好,那接着我们通过pip work去赋予一个IP地址。
12:04
它赋予的方式是pip work,后面跟上我们的B20,也就是网站类型,跟上我们的容器的名称叫tomcat,然后跟上我们要为它赋予的IP地址,比如幺零点、幺零点、幺零点。嗯,幺六吧,杠24回车。好回撤,那这样的话,我们在当前本期我们去拼一下,看看能不能通。P10.10.10.16回车看到了没有,已经能够通了,对吧?好,那我们去访问。10.10.10.16回撤。8080对吧。好看到没有tomcat?
13:01
并且你会发现,诶,这个容器竟然有自己独立的IP了。那这样的话,两台主机的容器之间相互问。那是不是跟玩一样啊?并且我们客户端是不是也可以直接通过访问这个IP去访问成功了呢?但需要大家注意一下,这个命令不是永久生效的,你需要加载到我们的开机脚本里才可,对吧?好,那这个呢,就是给我们的容器去赋予一个独立的IP地址,可以被公网直接访问的IP地址。当我这里的公网是我们的外部网络,对吧?当然你还需要真能网络,公网还需要进行我们所谓的在真实的网关处做我们的TT转换才可,对吧?好,需要大家注意一下。那这个呢,就是我们在网络管理里面给大家讲的一些内容了。内容比较多,实验也不少,需要大家好好的去把它给总结归纳一下,好。那这节课我们就先讲到这里,下节课我们再见。
我来说两句