Docker网络模式:Bridge和Host的区别,一文带你了解!

举报
wljslmz 发表于 2022/10/28 23:39:27 2022/10/28
【摘要】 Docker是一个平台即服务产品,使用 Docker,您可以轻松地将应用程序部署到 Docker 容器中,容器是将应用程序的源代码与其库、配置和依赖项捆绑在一起的软件“包”,这有助于软件在不同机器上更一致地运行。Docker中网络模式有两个比较常用:Bridge和Host,这两种模式有很大的区别,本文笔者将带大家好好了解一下这两种模式。 Docker网络基础容器是在不同平台上部署应用程序的一...

Docker是一个平台即服务产品,使用 Docker,您可以轻松地将应用程序部署到 Docker 容器中,容器是将应用程序的源代码与其库、配置和依赖项捆绑在一起的软件“包”,这有助于软件在不同机器上更一致地运行。

Docker中网络模式有两个比较常用:Bridge和Host,这两种模式有很大的区别,本文笔者将带大家好好了解一下这两种模式。

Docker网络基础

容器是在不同平台上部署应用程序的一种流行方式,在某些情况下,容器需要相互通信,这个过程可以通过Docker网络来实现。

Docker 有一个网络模型,允许容器自动通信,此外,它支持与相同或不同主机和外部世界的通信,网络是容器部署和管理的一个关键方面,因此,拥有出色的网络技能可以帮助您提高工作效率。

注意:用户可以将容器添加到多个网络。

要管理网络操作,例如创建新网络、将容器连接到网络、断开容器与网络的连接、列出可用网络和删除网络等,我们使用以下命令:

docker network

执行结果:

今天我们要将的Docker网络模式是通过以下命令查看:

docker network ls

执行结果:

我们看到有bridge、host、none三种,我们本文就讨论bridge、host。

bridge模式

当你启动 Docker 时,会自动创建一个默认的桥接网络。一个新启动的容器会自动连接到它。您还可以创建用户定义的自定义桥接网络,用户定义的桥接网络优于默认的桥接网络。

Bridge网络是最常见的网络类型,它仅限于运行 Docker 引擎的单个主机中的容器,Bridge网络易于创建、管理和故障排除。

桥接模式网络

Bridge网络将172.17.xx范围内的IP 分配给其中的容器,为了使桥接网络上的容器能够与外界通信或可访问,需要配置端口映射。例如,假设您可以让 Docker 容器在端口 80 上运行 Web 服务,由于此容器连接到私有子网上的桥接网络,因此需要将主机系统上的端口(如8000)映射到容器上的端口 80,以便外部流量到达 Web 服务。

host模式

消除容器与 Docker 主机之间的网络隔离,直接使用主机的网络。如果您运行绑定到端口 80 的容器并使用主机网络,则容器的应用程序可在主机 IP 地址的端口 80 上使用。意味着您将无法在同一主机上运行多个 Web 容器,在同一端口上,因为该端口现在对主机网络中的所有容器都是通用的。

主机模式网络

使用host驱动程序时,容器共享 Docker 主机的网络堆栈,从网络的角度来看,容器就像主机本身一样

host消除了 docker 主机和 docker 容器之间的网络隔离,以便直接使用主机网络。但是这样一来,您将无法在同一主机上运行多个容器,在同一端口上,因为主机网络中的所有容器都将具有主机系统的公共端口。

总结

桥接模式和主机模式是Docker网络中比较常用的两种模式,本文详细的介绍了这两种模式,希望对您有所帮助,有任何问题,欢迎在下方评论区与我讨论!

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。