Docker详解(十四)——Docker网络类型详解

今天继续给大家介绍Linux运维相关知识,本文主要内容是Docker网络类型详解。

一、Docker网络类型

在Docker中,容器的网络有四种模式,分别是None、Bridge、Container和Host。下面,我就来详细讲解一下这四种类型的网络模式。

二、None类型网络

None类型的网络,即没有网络,Docker容器不会设置容器内网络的任何信息,不会对网络进行任何配置,但是我们自己可以给该容器添加配置,给予其网络环境。
我们有时需要为容器网络分配一个静态的IP,使Docker容器处于和物理机同一个网段,这时我们可以先使用None类型的网络,然后自己选择网络信息。
在创建Docker容器时,我们可以使用–net=none来指定Docker容器处于None类型的网络中。

三、Bridge类型网络

Bridge类型的网络是Docker容器默认的网络类型,在这种模式下,Docker会为容器虚拟出一个网络,所有的Container容器都会分配一个处于这个网络的IP地址,不同的Container之间可以互相通信。
Docker容器的Brdige虚拟网络如下所示:
在这里插入图片描述
Bridge模式下的网络拓扑如下所示:
在这里插入图片描述
**从上图中可以看出,Docker的“Bridge”与Vmware的“Bridge”根本不是一个类型的网络!**实际上,Docker中的“Bridge”更类似于Vmware中的Nat类型的网络模式。并且,Docker容器对外网(互联网)的访问也是基于物理机的Nat机制实现的。在创建Docker容器时,我们可以使用–net=bridge指定Docker容器处于Bridge类型的网络中。注意:Bridge是Docker的默认网络类型,因此,即使我们不使用–net=bridge参数,该Docker容器的网络类型依然是Brdige

四、Container类型网络

在Container类型的网络中,多个Docker容器共享网络设备。我们在一个Docker容器运行之后,再运行其他的Docker容器时,可以使该容器与之前已经运行的Docker容器共享网络,即拥有同样的IP地址、网卡设备。两个容器之间可以通过环回地址网卡进行通信,并且在文件系统、进程表等方面实现隔离。处于同一个Container网络中的容器,对于端口的占用机制是先来先占用的模式,哪个容器占用该端口,该容器就可以使用该端口。
在创建Docker容器时,我们可以使用–net=container指定Docker容器处于Container类型的网络中。

五、Host类型网络

与Container类型的网络类似,在Host类型的网络中,Docker容器于物理机共享网络,拥有物理机的IP地址和网卡信息。同样的,在Host类型的网络模式中,Docker容器与物理机在文件系统、进程等方面是隔离的。例如,假如一个开启Web80端口服务的Docker容器处于Host类型的网络中(前提是该物理机没有先占用80端口),那么访问该容器只需要访问物理机IP地址即可。
在创建Docker容器时,我们可以使用–net=host指定Docker容器处于Host类型的网络中。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
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选项将一个容器链接到另一个容器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

永远是少年啊

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

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

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

打赏作者

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

抵扣说明:

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

余额充值