docker network网络

本文详细解释了Docker中的四种网络模式:Bridge网络(默认模式)、Host网络(直接访问宿主机网络)、None网络(无网络资源)和Container网络(共享网络栈)。介绍了它们的工作原理、优缺点以及适用场景。
摘要由CSDN通过智能技术生成

网络分类

在这里插入图片描述

bridge网络

bridge是docker默认网络模式,docker安装后会选择一个私有网段作为bridge的子网,在我们创建容器时默认会将容器网络加入到这个子网中。
在这里插入图片描述
原理:Docker Daemon(后台进程) 利用 veth pair 技术,在宿主机上创建一对对等虚拟网络接口设备(veth pair)用于连接网桥(docker0)和容器, veth pair 技术的特性可以保证无论哪一个 veth 接收到网络报文,都会将报文传输给另一方。

注意:通过docker-compose构建的容器会自动创建一个名为文件夹名_default的桥接网络。

host网络

采用 host 网络模式的 Docker Container,可以直接使用宿主机的 IP 地址与外界进行通信,若宿主机的 eth0 是一个公有 IP,那么容器也拥有这个公有 IP。同时容器内服务的端口也可以使用宿主机的端口,无需额外进行 NAT 转换;

host 网络模式可以让容器共享宿主机网络栈,这样的好处是外部主机与容器直接通信,但是容器的网络缺少隔离性。
在这里插入图片描述

none 网络模式

none 网络模式即不为 Docker Container 创建任何的网络环境,容器内部就只能使用 loopback (本地回路)网络设备,不会再有其他的网络资源。

container 网络模式

Container 网络模式是 Docker 中一种较为特别的网络的模式。在创建容器时通过参数 --net container:已运行的容器名称|ID 或者 --network container:已运行的容器名称|ID 指定;
处于这个模式下的 Docker 容器会共享一个网络栈,这样两个容器之间可以使用 localhost 高效快速通信。
在这里插入图片描述
Container 网络模式即新创建的容器不会创建自己的网卡,配置自己的 IP,而是和一个指定的容器共享 IP、端口范围等。同样两个容器除了网络方面相同之外,其他的如文件系统、进程列表等还是隔离的。

更多细节可以查看:https://zhuanlan.zhihu.com/p/212772001

  • 15
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值