马斯克和特朗普这对曾经的“塑料兄弟”,最近彻底撕破脸了,剧情比《纸牌屋》还精彩。因为特朗普最近刚通过的《大而美法案》,马斯克先是要成立“美国党”,还扬...
2026-05-09 22
Docker提供了多种网络模式,每种模式都有其特定的用途和适用场景。在安装Docker时,它会自动创建三个默认网络:bridge、host和none。
我们可以使用docker network ls命令查看这些网络:
Docker的网络功能是容器化技术中的重要组成部分,它允许容器之间、容器与主机系统以及外部网络进行通信。理解Docker的网络模式对于构建可靠的容器化应用至关重要。本文将深入探讨Docker的五种核心网络模式,通过原理说明和实际示例来全面掌握Docker网络。
图1. docker网络架构图
图1. docker网络架构图
Bridge(桥接)模式是Docker的默认网络模式。当创建容器时不指定网络模式,Docker会自动使用bridge模式。
在这种模式下,Docker会创建一个虚拟网桥(通常是docker0),所有使用bridge模式的容器都会连接到这个网桥。Docker会为每个容器分配一个独立的IP地址,并设置适当的网络规则,使得容器之间可以通过IP地址相互通信。
桥接网络的工作原理类似于物理网络交换机:
图2. bridge网络模型图
创建并运行一个使用bridge网络的容器:
# 运行一个nginx容器(默认使用bridge模式)docker run -d --name web-server nginx# 查看容器的网络信息docker inspect web-server | grep IPAddress# 输出可能类似:"IPAddress": "172.17.0.2"# 从主机ping容器ping 172.17.0.2# 创建自定义bridge网络。docker network create my-bridge-network# 运行容器并使用自定义bridge网络docker run -d --name custom-web --network my-bridge-network nginxdocker run -d --name custom-app --network my-bridge-network redis# 在custom-app容器中ping custom-web容器docker exec custom-app ping custom-web自定义bridge网络的优势:
Host模式让容器直接使用主机的网络栈,容器不会虚拟出自己的网络设备,而是直接使用主机的IP和端口。
在这种模式下:
这种模式的性能最好,因为没有网络地址转换(NAT)带来的开销,但安全性较低,且容易发生端口冲突。
图3. Host网络模型图
# 使用host模式运行nginx容器docker run -d --name nginx-host --network host nginx# 此时nginx监听的80端口直接绑定到主机网络# 可以直接通过主机IP:80访问nginx服务# 查看主机监听的端口,可以看到80端口已被nginx使用netstat -tuln | grep :80# 注意:如果主机上已经有服务占用了80端口,运行上述命令会失败适用场景:
Container模式让新创建的容器共享一个已存在容器的网络命名空间,而不是与主机共享。这两个容器的网络是完全相同的,它们可以看到相同的网络接口、IP地址和端口等。
这种模式适用于:
# 首先运行一个容器docker run -d --name network-source nginx# 运行另一个容器,共享第一个容器的网络命名空间docker run -it --network container:network-source --name network-share alpine sh# 在network-share容器中查看网络配置ip addr show# 可以看到与network-source容器完全相同的网络接口和IP地址# 测试网络连通性ping www.baidu.com # 应该能够正常访问外部网络实际应用场景:
None模式让容器拥有自己的网络命名空间,但不进行任何网络配置。容器内只有一个回环接口(lo),没有其他网络接口,也无法进行任何网络通信。
这种模式适用于:
图4. None网络模型图
# 使用none网络模式运行容器docker run -it --network none --name isolated-container alpine sh# 在容器内查看网络接口ip addr show# 输出将只显示lo(回环)接口,没有eth0等网络接口# 尝试访问外部网络(会失败)ping baidu.com网络模式 | 隔离性 | 性能 | 适用场景 | 跨主机通信 |
Bridge | 中等 | 良好 | 默认选择,单机多容器应用 | 不支持 |
Host | 无 | 最佳 | 高性能需求,端口管理简单 | 支持 |
None | 完全 | - | 无网络需求,自定义网络配置 | 不支持 |
Container | 共享 | 良好 | 紧密耦合的容器组 | 取决于被共享容器 |
Overlay | 中等 | 良好 | 多主机容器通信,集群环境 | 支持 |
相关文章
马斯克和特朗普这对曾经的“塑料兄弟”,最近彻底撕破脸了,剧情比《纸牌屋》还精彩。因为特朗普最近刚通过的《大而美法案》,马斯克先是要成立“美国党”,还扬...
2026-05-09 22
在快节奏的电竞对局中,帧率往往决定了操作能否先人一步。无论是《CS2》里关键一枪的命中,《无畏契约》中转角瞬间的对枪,还是《英雄联盟》里团战细节的处理...
2026-05-09 11
一、docker网络模型概览Docker提供了多种网络模式,每种模式都有其特定的用途和适用场景。在安装Docker时,它会自动创建三个默认网络:bri...
2026-05-09 11
据财联社10月22日消息,OpenAI正式推出AI驱动的网络浏览器ChatGPT Atlas,这款深度集成ChatGPT的工具,凭借记忆功能与智能体两...
2026-05-09 13
亲,这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到-人的牌一样。所以很多小伙伴就怀疑这...
2026-05-09 27
天天福建十三水插件是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加微下载使用。 手机打牌可以一键让你轻松成为“必赢”...
2026-05-09 21
【无需打开直接搜索微信;-】 操作使用教程: 1.亲,实际上微乐湖北麻将万能开挂器是可以开挂的,确实有挂.2.在"设置DD辅助功能DD微信麻将开挂工具...
2026-05-09 14
今年双十一,不是没便宜——而是“便宜”,早就不属于普通人了。平台在卷规则,商家在卷套路,这一场“全民狂欢”,听上去是让消费者“实惠”,实则是对算力、耐...
2026-05-09 15
发表评论