计算机系统应用教程网站

网站首页 > 技术文章 正文

33.最后两种网络模式 33.最后两种网络模式的区别

btikc 2024-10-14 08:45:55 技术文章 5 ℃ 0 评论

大家好,欢迎大家继续收看天翼it学院doctor学习视频。通过上一节的学习,我们已经知道在doctor的网络模式当中host网络模式是一个什么样的网络状态。host网络模式是与宿主机共享网络信息的,也就是说使用了host网络模式的容器,网卡信息与宿主级的网卡信息是一模一样的。

好处就是方便访问,坏处就是当多个容器想要运行同一个服务的时候能运行起来吗?肯定是运行不起来的,因为端口已经被占用了。

本节来说一下最后的两种网络模式。

·首先来看一下host网络模式。这个网络模式之前也给大家说过,网络模式就是不为容器分配任何的网络功能,实际上也就是不会去给容器分配任何的网络信息,也就是直接把网卡给拆掉了,能明白吧?这个模式就是直接把网卡拆掉了,没有网卡,这能明白什么意思吧?就是这个模式。

如果要是使用了这个模式,虽然刀口容器拥有自己的network name space,但是并不会为使用了这种网络模式的容器去添加网卡、配置ip等。在这种网络模式下,容器只有一个回还网络,没有其他的网卡模式。

如果想要去安装软件包,通过网络来安装软件包根本是不可能的,因为没有网卡,没有网卡怎么跟外界去通信?也正是因为没有网卡,所以这种容器的安全性特别高。这句话我可能是说的有点多余,都不能联网,肯定是安全的对不对?这就相当于小偷想上我家偷东西,但是来到我家以后发现我家没有门,连窗户都没有,进不去,这样安不安全?肯定是安全的对不对?

这种模式如果要是想要创建应该怎么去创建?这种模式创建起来非常的简单,依然是正常创建容器的模式,刀壳run,然后杠it,去指定网络模式,也就是这个。要使用哪个镜像来创建容器,最后给它分配上一个终端就可以了。

这个时候已经进入到了容器当中,进入来了以后查看一下网络信息。可以看到在这种模式下除了一个回还接口以外还有别的网卡信息吗?是不是就没有了?所以这就是no的网络模式。这个网络模式很好理解吧?就是没有网卡,只能自己跟自己玩,想跟别人玩玩不了。为什么?因为想跟别人玩没有办法去创建连接,能明白什么意思吧?

这就是host的模式,创建完了以后将容器删掉,因为容器、实在是没有什么作用。

删掉了以后来说一下最后的一个也就是共享网络的模式。通过上一节已经学习了host的网络模式,host是容器跟素主机来共享网络空间,网卡信息是一模一样的。最后container这种网络模式实际上就是另一个版本的host,但是跟host的区别在于host是容器与素主机之间共享网络信息,而container的模式是容器与容器之间去共享网络信息。

这么说大家可能不是很好理解,还是动手操作来看一下。首先为了方便这次在创建容器的时候来命名,container叫什么?就叫dock-1,然后去指定镜像用的是哪一个镜像,然后给它分配一个bash,用的终端是什么?这个时候就已经进来到容器当中了。

有人可能会说这也没有去指定它的网络,这就是container这种网络模式的区别,它是与别人去共享一个network的namespace。如果要跟别的容器去共享,是不是首先得先有一个容器?刚才已经把所有的容器都删掉了,所以得先创建出来一个容器,然后才能去验证这个模式明白什么意思。

容器完成了以后来看一下它的网络信息,在这里可以看到网络信息,ip地址是172.17.0.2,这是ip地址,这是dock-1这台容器的。为了方便演示,容器在创建的时候已经给它进行了命名,这是dock-1的网络信息。

为了更好的去区分,现在再开启一个终端2号终端来进行创建一个新的容器,容器在创建的时候同样去给它进行命名,dock-1,这个按照顺序应该叫它dock-2。在容器创建的时候就要去指定网络模式了,网络模式就是container。

大家注意container后面是有一个冒号,冒号后面要接谁?后面要接的就是dock-1,为什么要接dock-1?一会给大家说。先把容器创建起来,然后去指定要使用的镜像,然后就是终端。这个时候创建完成,创建完成了以后在ipaddr查看一下网络信息。

大家注意一下能不能看到这台容器的ip地址依然还是172.17.0.2,注意一下当前是在哪个容器当中?当前是不是在dock-2的容器当中?不对,在刀客二容器当中ip地址依然还是172.17.0.2,这就是container这种网络模式的一个形式。这个模式是指定新创建的容器和已经存在的容器去共享一个network name space,而不是和宿主机去共享,这能明白什么意思吧?

house的模式是去跟宿主机去共享,而container的模式是跟已经存在的容器去共享,新创建的容器就不会去创建自己的网卡了,都不会去创建网卡,同样也不会去给它分配ip地址以及自网验码和网关等一系列的信息。

它适合指定的容器去共享ip地址、端口范围等等。同样这两个容器除了在网络方面以外,其他的比如文件系统、进程列表、用户等等依然是隔离的状态。这两个容器的进程是可以通过回环接口网卡去进行通信的。

刚才在去创建的时候contain后面的冒号大家知道去干什么了吧?也就是新创建的刀客二这台容器想要去跟哪一个现在存在的容器跟它的网络去进行共享?想跟谁共享就在冒号后边去写,谁能明白什么意思吧?

content与host网络模式唯一的区别就是一个是跟素主机去共享网络信息,还有一个是跟已经存在的容器去共享网络信息。至于它们俩的结果都是一样的,这能明白什么意思吧?

在后四主机当中去安装了httpd,然后启动了它,在创建一个容器以后还能再启动httpd的服务吗?启动不了。同样在当前实验环境当中,如果在dock一里边启动了一个hdpd,dock二还能启动hdpd吗?启动不了了,明白吧?因为为什么端口已经被占用了?因为它们两个人所使用的ip地址都是一样的。

这就是整个刀客的四种网络模式,这四种模式大家现在能够明白这四种网络模式分别都是什么样的情况了吧?这里所使用的默认网络就是不锐志,也就是刀客零默认网络,nat的模式。再往下house的模式还有怒模式,还有container的模式。

container跟house两个的区别不大,一个是跟素主机去共享网络,一个是跟已经存在的容器去共享网络。在这个里边当中唯一觉得毫无用处的可能就是怒网络了,都不创建网卡,连网卡都没有,创建一个这样的容器干什么用?

关于。

刀客容器的四种网络模式就给大家介绍完了,希望大家通过学习以后对这四种网络模式有了一定的了解。希望大家当别人在问你docker有几种网络模式的时候,你们能够对答如流。

本节视频到此结束。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表