Docker 网络的几种常见类型

目录

Docker 网络类型

桥接网络(Bridge)

通俗解释

特点

使用场景

示例

主机网络(Host)

通俗解释

特点

使用场景

示例

None 网络

通俗解释

特点

使用场景

示例

Overlay 网络

通俗解释

特点

使用场景

示例

Macvlan 网络

通俗解释

特点

使用场景

示例


Docker 网络类型

桥接网络:适合开发和测试环境,隔离性强。

主机网络:性能最高,适合高性能需求的场景。

None 网络:完全隔离,适合离线任务或安全隔离。

Overlay 网络:适合分布式应用和集群环境。

Macvlan 网络:适合需要直接接入物理网络的场景。

桥接网络(Bridge)

通俗解释

桥接网络就像是一个“虚拟的局域网”。Docker 在宿主机上创建了一个虚拟的网桥(比如 docker0),所有的容器就像连接到同一个路由器的不同设备一样,通过这个网桥互相通信,也可以访问外部网络。

特点
  • 隔离性:容器之间通过虚拟网桥隔离,比较安全。
  • 默认配置:Docker 默认会创建一个桥接网络,容器如果没有指定其他网络,就会连接到这个默认的桥接网络。
  • 外部访问:可以通过端口映射(-p 参数)让外部访问容器内的服务。
使用场景
  • 开发环境:适合开发时需要多个容器互相通信的场景,比如一个 Web 应用和一个数据库容器。
  • 测试环境:用于隔离测试环境中的容器,避免影响其他服务。
示例
# 创建一个自定义桥接网络
docker network create my_bridge# 启动容器并连接到桥接网络
docker run -d --name my_web --network my_bridge nginx

主机网络(Host)

通俗解释

主机网络模式就像是“容器直接插在宿主机的网络接口上”。容器直接使用宿主机的网络栈,没有隔离,容器的网络配置和宿主机完全一致。

特点
  • 性能高:没有网络隔离和虚拟化开销,性能最好。
  • 无隔离:容器可以直接访问宿主机的网络,安全风险较高。
  • 端口冲突:容器和宿主机不能使用相同的端口。
使用场景
  • 高性能需求:适合对网络性能要求极高的场景,比如高性能的数据库服务。
  • 简单部署:适合不需要网络隔离的简单应用。
示例
# 启动容器并使用主机网络
docker run -d --name my_web --network host nginx

None 网络

通俗解释

None 网络就像是“拔掉网线”,容器没有任何网络配置,无法访问外部网络,也无法和其他容器通信。

特点
  • 完全隔离:容器完全与外界隔离,安全性最高。
  • 用途特殊:通常用于一些不需要网络的场景。
使用场景
  • 离线任务:比如运行一些不需要网络的脚本或工具。
  • 安全隔离:确保容器完全不会对外泄露信息。
示例
# 启动容器并使用 None 网络
docker run -d --name my_container --network none nginx

Overlay 网络

通俗解释

Overlay 网络就像是“跨多个主机的虚拟网络”。它允许在不同主机上的容器之间互相通信,就像它们在同一个局域网中一样。

特点
  • 跨主机通信:容器可以跨多台主机通信,非常适合分布式应用。
  • 需要 Docker Swarm:通常需要在 Docker Swarm 模式下使用,用于集群环境。
  • 复杂性较高:配置和管理相对复杂,但功能强大。
使用场景
  • 微服务架构:适合微服务架构,容器分布在多台主机上。
  • 集群环境:用于 Docker Swarm 集群,管理多个主机上的容器。
示例
# 创建一个 Overlay 网络
docker network create -d overlay my_overlay# 在不同主机上启动容器并连接到 Overlay 网络
docker run -d --network my_overlay my_image

Macvlan 网络

通俗解释

Macvlan 网络就像是“给容器分配一个真实的 MAC 地址”,让容器看起来像是直接连接到物理网络的设备。

特点
  • 模拟真实设备:容器有自己的 MAC 地址,可以直接访问物理网络。
  • 适合特定场景:适用于需要直接接入物理网络的场景。
  • 配置复杂:需要配置物理网络接口,比较复杂。
使用场景
  • 网络设备模拟:模拟真实的网络设备,比如交换机或路由器。
  • 直接接入物理网络:容器可以直接访问物理网络中的其他设备。
示例
# 创建一个 Macvlan 网络
docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=eth0 my_macvlan# 启动容器并连接到 Macvlan 网络
docker run -d --network my_macvlan my_image

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/70860.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SSH隧道+Nginx:绿色通道详解(SSH Tunnel+nginx: Green Channel Detailed Explanation)

SSH隧道Nginx:内网资源访问的绿色通道 问题背景 模拟生产环境,使用两层Nginx做反向代理,请求公网IP来访问内网服务器的网站。通过ssh隧道反向代理来实现,重点分析一下nginx反代的基础配置。 实验环境 1、启动内网服务器的tomca…

SQLite 数据库:优点、语法与快速入门指南

文章目录 一、引言二、SQLite 的优点 💯三、SQLite 的基本语法3.1 创建数据库3.2 创建表3.3 插入数据3.4 查询数据3.5 更新数据3.6 删除数据3.7 删除表 四、快速入门指南4.1 安装 SQLite4.2 创建数据库4.3 创建表4.4 插入数据4.5 查询数据4.6 更新数据4.7 删除数据4…

uniapp 编译生成鸿蒙正式app步骤

1,在最新版本DevEco-Studio工具新建一个空项目并生成p12和csr文件(构建-生成私钥和证书请求文件) 2,华为开发者平台 根据上面生成的csr文件新增cer和p7b文件,分发布和测试 3,在最新版本DevEco-Studio工具 文…

ADB详细教程

目录 一、ADB简介 二、配置 配置环境变量 验证是否安装成功 三、简单使用 基本命令 设备连接管理 USB连接 WIFI连接(需要USB线) 开启手机USB调试模式 开启USB调试 四、其他 更换ADB默认启动端口 一、ADB简介 ADB(Android Debug…

CNN-BiLSTM卷积神经网络双向长短期记忆神经网络多变量多步预测,光伏功率预测

代码地址:CNN-BiLSTM卷积神经网络双向长短期记忆神经网络多变量多步预测,光伏功率预测 CNN-BiLSTM卷积神经网络双向长短期记忆神经网络多变量多步预测 一、引言 1.1、研究背景和意义 光伏功率预测在现代电力系统中占有至关重要的地位。随着可再生能源…

三、OSG学习笔记-应用基础

前一章节:二、OSG学习笔记-入门开发-CSDN博客https://blog.csdn.net/weixin_36323170/article/details/145513874 一、 OsgGA: 界面事件处理空间,处理操作各种操作器的最大名字空间; GUIEventHandler: ui 事件操作类 注意:在启…

Django开发入门 – 0.Django基本介绍

Django开发入门 – 0.Django基本介绍 A Brief Introduction to django By JacksonML 1. Django简介 1) 什么是Django? 依据其官网的一段解释: Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design. …

计算机毕业设计PySpark+Hadoop+Hive机票预测 飞机票航班数据分析可视化大屏 航班预测系统 机票爬虫 飞机票推荐系统 大数据毕业设计

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

【车载项目】 systemui下拉负一屏界面,通过语音输入:“中文模式/英文模式“,会闪现一下负一屏下层的画面

1、背景 【操作步骤】负一屏界面,语音输入:“中文模式/英文模式” 【预期结果】显示正常 【实际结果】 会闪现一下负一屏下层的文字 【发生概率】必现 systemui下拉负一屏界面,通过语音输入:“中文模式/英文模式”,会…

从零到一:基于Rook构建云原生Ceph存储的全面指南(上)

文章目录 一.Rook简介二.Rook与Ceph架构2.1 Rook结构体系2.2 Rook包含组件1)Rook Operator2)Rook Discover3)Rook Agent 2.3 Rook与kubernetes结合的架构图如下2.4 ceph特点2.5 ceph架构2.6 ceph组件 三.Rook部署Ceph集群3.1 部署条件3.3 获取…

vue3 怎么自动全局注册某个目录下的所有 vue 和 tsx 组件

在开发 vue3 项目时,我们会有这样的诉求,怎么自动全局注册某个目录下的所有 vue 和 tsx 组件? 虽然已经有非常强大的 unplugin-vue-components 支持,但是在某些动态场景下,unplugin-vue-components 也选择了不支持。 …

大模型数据集全面整理:444个数据集下载地址

本文针对Datasets for Large Language Models: A Comprehensive Survey 中的 444 个数据集(涵盖8种语言类别和32个领域)进行完整下载地址整理收集。 2024-02-28,由杨刘、曹家欢、刘崇宇、丁凯、金连文等作者编写,深入探讨了大型语…

2025届优秀大数据毕业设计

【2025计算机毕业设计】计算机毕业设计100个高通过率选题推荐,毕业生毕设必看选题指导,计算机毕业设计选题讲解,毕业设计选题详细指导_哔哩哔哩_bilibili 985华南理工大学学长 大厂全栈,大数据开发工程师 专注定制化开发

免费在腾讯云Cloud Studio部署DeepSeek-R1大模型

2024年2月2日,腾讯云宣布DeepSeek-R1大模型正式支持一键部署至腾讯云HAI(高性能应用服务)。开发者仅需3分钟即可完成部署并调用模型,大幅简化了传统部署流程中买卡、装驱动、配网络、配存储、装环境、装框架、下载模型等繁琐步骤。…

【C++高并发服务器WebServer】-17:阻塞/非阻塞和同步/异步、五种IO模型、Web服务器

本文目录 一、阻塞/非阻塞、同步/异步1.1 辨析1.2 异步io接口 二、五种IO模型2.1 阻塞 blocking 模型2.2 非阻塞 NIO 模型2.3 IO多路复用2.4 信号驱动Signal-driven2.5 异步 三、Web Sever 网页服务器3.1 HTTP的请求响应步骤3.2 HTTP请求与响应报文格式3.3 HTTP请求方法3.4 HTT…

【MySQL例题】我在广州学Mysql 系列——有关数据备份与还原的示例

ℹ️大家好,我是练小杰,今天周二,明天就是元宵节了呀!!😆 俗话说“众里寻他千百度。蓦然回首,那人却在,灯火阑珊处。” 本文主要对数据库备份与还原的知识点例题学习~~ 前情回顾&…

自动化xpath定位元素(附几款浏览器xpath插件)

在 Web 自动化测试、数据采集、前端调试中,XPath 仍然是不可或缺的技能。虽然 CSS 选择器越来越强大,但面对复杂 DOM 结构时,XPath 仍然更具灵活性。因此,掌握 XPath,不仅能提高自动化测试的稳定性,还能在爬…

【并发控制、更新、版本控制】.NET开源ORM框架 SqlSugar 系列

系列文章目录 🎀🎀🎀 .NET开源 ORM 框架 SqlSugar 系列 🎀🎀🎀 文章目录 系列文章目录一、并发累计(累加)1.1 单条批量累计1.2 批量更新并且字段11.3 批量更新并且字段list中对应的…

数据存储和操作:数据管理的基石

在数据管理的庞大体系中,数据存储和操作是确保数据可用性和完整性的关键环节。它不仅涉及数据的物理存储,还包括数据的管理、维护和优化。今天,让我们深入《DAMA数据管理知识体系指南(第二版)》的第六章,一…

Redis 数据类型 Hash 哈希

在 Redis 中,哈希类型是指值本⾝⼜是⼀个键值对结构,形如 key "key",value { { field1, value1 }, ..., {fieldN, valueN } },Redis String 和 Hash 类型⼆者的关系可以⽤下图来表⽰。 Hash 数据类型的特点 键值对集合…