当前位置: 首页 > news >正文

docker 自定义网桥作用

Docker 自定义桥接网络(User-defined Bridge Network)提供了许多优于默认桥接网络的功能和特性。以下是自定义桥接网络的主要特性和优势的总结:

1. 容器名称解析

  • 内置 DNS 服务:自定义桥接网络中,Docker 提供了一个内置的 DNS 服务器,允许容器通过名称互相通信,而不需要知道对方的具体 IP 地址。
  • 自动更新即使容器重启后其 IP 地址发生变化,内置 DNS 会自动更新映射关系,确保名称解析始终有效。

2. 隔离性

  • 网络隔离:每个自定义桥接网络是相互独立的,默认情况下只有属于同一网络的容器才能互相通信。这提高了安全性,并减少了潜在的冲突。
  • 防止广播风暴:由于网络是隔离的,广播流量不会跨越不同的自定义桥接网络,从而减少网络拥塞。

3. 简化服务发现

  • 无需手动配置:在同一个自定义桥接网络中的容器可以通过名称直接访问其他容器的服务,无需手动配置或使用 --link 参数。
  • 易于扩展:你可以轻松地将新的容器加入到现有的自定义桥接网络中,并立即能够通过名称进行通信。

4. 更好的网络控制

  • IP 地址管理:你可以在创建自定义桥接网络时指定子网和网关,从而更好地控制 IP 地址的分配
  • 子网划分:可以根据需要创建多个自定义桥接网络,并为每个网络分配不同的子网,以避免 IP 地址冲突。

5. 外部连接选项

  • 端口映射:虽然自定义桥接网络提供了更好的内部通信方式,但你仍然可以通过 -p 或 --publish 参数将容器的端口映射到主机上,以便从外部访问。
  • 跨主机通信:结合 Docker 的 overlay 网络功能,可以实现跨主机的容器通信,这对于分布式应用非常有用。

6. 网络驱动支持

  • 插件支持:除了基本的桥接网络,Docker 还支持第三方网络驱动插件,可以满足更复杂的网络需求。
  • Macvlan 和 IPvlan:这些高级网络模式允许容器直接连接到物理网络,提供更高的性能和灵活性。

7. 容错性

  • 动态更新:如果容器重启或重新创建,Docker 会自动为其分配新的 IP 地址,并更新内置 DNS 服务中的记录,确保名称解析不受影响。
  • 高可用性:自定义桥接网络的设计使得容器之间的通信更加稳定和可靠,减少了因 IP 变化导致的通信中断问题。
示例

假设你有两个容器 webappdb,并且它们都连接到了一个名为 my_bridge_network 的自定义桥接网络。你可以这样启动这两个容器:

# 创建自定义桥接网络
docker network create my_bridge_network# 检查是否创建成功
docker network ls# 查看具体的网卡信息
docker inspect my_custom_network# 启动 db 容器并连接到自定义桥接网络
docker run -d --name db --network my_bridge_network mysql:latest# 启动 webapp 容器并连接到相同的自定义桥接网络
docker run -d --name webapp --network my_bridge_network my_webapp_image

像上面这种情况:

  • webapp 容器可以通过 db 这个名称直接访问 MySQL 数据库服务,而不需要知道它的具体 IP 地址。(ping db)
  • 如果 db 容器重启后 IP 地址发生变化,内置 DNS 服务会自动更新映射关系,确保 webapp 容器仍能通过 db 名称访问数据库。

 

示例

假设你想要创建一个名为 my_custom_network 的自定义桥接网络,并希望使用 192.168.10.0/24 作为子网,192.168.10.1 作为网关地址。

docker network create \--driver bridge \--subnet=192.168.10.0/24 \--gateway=192.168.10.1 \my_custom_network

http://www.dtcms.com/a/300939.html

相关文章:

  • JavaScript手录07-数组
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-38,(知识点:晶体管放大电路频率特性,下限截止频率)
  • 将 JsonArray 类型的数据导出到Excel文件里的两种方式
  • 内存泄漏问题排查
  • mmap的调用层级与内核态陷入全过程
  • java8+springboot2.5.4环境Markdwon转word
  • 设计模式(十四)行为型:职责链模式详解
  • add新增管理员功能、BaseController类的简介--------示例OJ
  • linux安装nvm教程
  • Windows 11修复损坏的 ISO 文件
  • 二、搭建springCloudAlibaba2021.1版本分布式微服务-Nacos搭建及服务注册和配置中心
  • RHEL9 网络配置入门:IP 显示、主机名修改与配置文件解析
  • 【C++】红黑树实现
  • logstash采集springboot微服务日志
  • 使用Python,OpenCV,K-Means聚类查找图像中最主要的颜色
  • C语言:函数
  • AI大模型前沿:Muyan-TTS开源零样本语音合成技术解析
  • 力扣129. 求根节点到叶节点数字之和
  • Python day26
  • 基于 KNN 算法的手写数字识别项目实践
  • OpenLayers 综合案例-点位聚合
  • Java Ai(day04)
  • Android CameraX 使用指南:简化相机开发
  • 7.25 C/C++蓝桥杯 |排序算法【下】
  • git删除远程分支和本地分支
  • Windows10+WSL2+Docker相关整理
  • IP--MGER综合实验报告
  • git 修改 更新
  • Red靶机攻略
  • 洛谷P2880 [USACO07JAN] Balanced Lineup G