Docker基础-21-网络-none和host网络 - Go语言中文社区

Docker基础-21-网络-none和host网络


前面两篇文章,其实我们都是在学习docker单机网络模式下的bridge模式,现在,我们还没有学习none和host这两个网络模式。这篇,就来介绍下这两种网络,none和host网络其实很简单,就bridge0很复杂,也很强大,使用也最多。

 

Docker中none网络

我们先来看看none网络

环境准备,先stop和rm掉全部之前开启的容器。

并且把前面创建的my-bridge网络也删除

然后通过docker network ls

红圈host和none网络是我们这篇要学习的,我们先来学习none,利用前面启动容器知识,来启动一个busybox的容器test1,并且连接到none网络

然后执行docker network inspect none,看看容器信息

注意,容器使用none模式,是没有物理地址和IP地址。不信,我们可以进入到test1容器里,执行ip a命令看看。

只有一个lo接口,没有其他网络接口,没有IP。也就是说,使用none模式,这个容器是不能被其他容器访问。这种使用场景很少,也行项目安全性很高的才能使用到。

 

Docker中host 网络

前面学习none网络模式特点就是,容器没有IP地址,不能和其他容器通信。下面来看看host网络是什么特点。我们使用前面命令,启动一个test2容器,连接到host网络。

 

然后docker network inspect host, 看看容器信息。

这里来看,也不显示IP地址。那么是不是和none一样,肯定不是,不然也不会设计none和host网络进行区分。下面我们进入test2容器,执行ip a看看效果。

我们在容器里执行ip a,发现打印内容和在linux本机外执行ip a是一样的。

这说明什么呢?容器使用了host模式,说明容器和外层linux主机共享一套网络接口。这个,如果你使用过VMware公司的虚拟机管理软件,其中网络设置,也有host这个模式,作用也是一样,虚拟机里面使用网络和你自己外层机器是一模一样的。这种容器和本机使用共享一套网络接口,缺点还是很明显的,例如我们知道web服务器一般端口是80,共享了一套网络接口,那么你这台机器上只能启动一个tomcat端口为80的服务器了。否则,出现端口被占用的情况。

 

本篇很简单,就是简单了解下docker中none和host网络模式。重点docker中网络,还是使用和学习bridge。

 

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/u011541946/article/details/87898518
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-06-13 19:58:26
  • 阅读 ( 872 )
  • 分类:docker

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢