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。

 

Docker是一种基于容器的虚拟化技术,它提供了一种轻量级的容器化解决方案,可以将应用程序及其依赖项打包到一个可移植的容器中,以便在任何地方运行。在Docker中,容器之间的通信是通过网络实现的,在本文中,我们将详细介绍Docker中的网络通信。 Docker中的网络类型 Docker提供了四种不同类型的网络,分别是: 1. 桥接网络(Bridge Network):桥接网络Docker的默认网络,它允许容器之间相互通信,并且可以与主机通信。在桥接网络中,每个容器都有一个独立的IP地址,并且可以通过容器名称或IP地址进行访问。 2. 主机网络Host Network):主机网络将容器直接连接到主机网络上,容器与主机共享同一个网络接口IP地址,因此可以与主机网络上的其他设备进行通信。 3. 网络绑定(None Network):网络绑定不为容器配置任何网络,这意味着容器无法通过网络与外界进行通信。通常,这种网络类型用于测试调试容器应用程序。 4. Overlay网络(Overlay Network):Overlay网络用于跨主机容器之间的通信。它允许在多个主机上运行分布式应用程序,并提供了自动发现负载均衡的功能。 Docker网络配置 在Docker中,可以使用docker network命令来管理网络。可以使用以下命令创建一个新的桥接网络: ``` docker network create my-network ``` 可以通过以下命令将容器添加到网络中: ``` docker run --name my-container --network my-network my-image ``` 在此命令中,--network选项指定要将容器添加到的网络名称。 可以使用以下命令列出所有可用的网络: ``` docker network ls ``` 可以使用以下命令查看特定网络的详细信息: ``` docker network inspect my-network ``` 在Docker中,还可以使用--link选项将一个容器链接到另一个容器。这将创建一个虚拟网络接口,允许容器之间进行通信。以下命令将容器my-container链接到容器my-other-container: ``` docker run --name my-container --link my-other-container my-image ``` 在此命令中,--link选项指定要链接的容器名称。 总结 在Docker中,容器之间的通信是通过网络实现的。Docker提供了四种不同类型的网络,包括桥接网络、主机网络网络绑定Overlay网络。可以使用docker network命令来管理网络,可以使用--link选项将一个容器链接到另一个容器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值