docker有哪些网络模式

Docker 提供了多种网络模式(Networking Modes),每种模式都有其特定的用例和优缺点。以下是 Docker 的几种主要网络模式:

1. Bridge 网络(默认)

  • 描述:在这种模式下,Docker 创建了一个桥接网络(bridge),所有容器连接到这个网络并通过虚拟网桥进行通信。
  • 特点
    • 默认网络模式,适用于单机容器通信。
    • 容器通过桥接网络可以相互通信。
    • 每个容器都有一个虚拟网卡(veth)连接到桥接网络。
  • 用法
docker run -d --name container_name --network bridge image_name

2. Host 网络

  • 描述:在这种模式下,容器共享宿主机的网络命名空间。容器不会获得独立的网络栈,而是使用宿主机的网络栈。
  • 特点
    • 性能优于 bridge 网络模式,因为没有网络地址转换(NAT)。
    • 容器使用宿主机的 IP 地址和端口。
    • 容器无法使用自定义的端口映射。
  • 用法
docker run -d --name container_name --network host image_name

3. None 网络

  • 描述:在这种模式下,容器没有任何网络连接。它们只有一个 loopback 接口。
  • 特点
    • 容器没有网络接口,无法与外界通信。
    • 适用于需要完全自定义网络配置的场景。
  • 用法
docker run -d --name container_name --network none image_name

4. Container 网络

  • 描述:在这种模式下,容器共享另一个容器的网络命名空间。多个容器可以共享一个网络栈。
  • 特点
    • 容器共享 IP 地址和端口范围。
    • 适用于需要在多个容器间共享网络配置的场景。
  • 用法
docker run -d --name container_name --network container:another_container_name image_name

5. Overlay 网络

  • 描述:在这种模式下,Docker Swarm 使用 Overlay 网络跨多个 Docker 主机提供网络连接。
  • 特点
    • 用于跨多主机的容器通信。
    • 适用于 Swarm 集群或 Kubernetes 集群。
    • 提供集群间容器的安全通信。
  • 用法
docker network create -d overlay my_overlay_network
docker run -d --name container_name --network my_overlay_network image_name

6. Macvlan 网络

  • 描述:在这种模式下,Docker 将容器直接连接到物理网络,给每个容器分配一个 MAC 地址,使其在物理网络中像普通设备一样。
  • 特点
    • 容器可以直接与物理网络设备通信。
    • 适用于需要容器拥有独立 IP 地址的场景。
    • 容器可以通过网络交换机进行网络隔离。
  • 用法
sh
复制代码
docker network create -d macvlan \--subnet=192.168.1.0/24 \--gateway=192.168.1.1 \-o parent=eth0 my_macvlan_network
docker run -d --name container_name --network my_macvlan_network image_name

总结

  • Bridge 网络:适用于单机容器通信。
  • Host 网络:适用于需要高性能网络通信的场景。
  • None 网络:适用于完全自定义网络配置。
  • Container 网络:适用于多个容器共享网络配置。
  • Overlay 网络:适用于跨多主机的容器通信(Swarm/Kubernetes)。
  • Macvlan 网络:适用于容器直接连接到物理网络并拥有独立 IP 地址的场景。

根据具体的应用需求和网络拓扑,可以选择合适的 Docker 网络模式来配置和管理容器的网络通信。

4o

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

jenkins离线安装插件

Jenkins 在线安装插件失败 报错: Caused: java.io.IOException: Failed to load https://updates.jenkins.io/download/plugins/login-theme/244.vd67c77f0c4c8/login-theme.hpi to /var/jenkins_home/plugins/login-theme.jpi.tmpat hudson.model.UpdateCenter$Up…

人工智能学习——前言

一、概论理解 首先何为人工智能?简单一句人话就是:人工操纵搭建出来的智能学习模型 那我们要用它干什么?简单一句话就是:我们给出指令 ——> 得到想要的结果 最简单的生活例子来看:就好比小狗,我们让它…

C++11——异常

1.异常概念 异常是一种处理错误的方式,当一个函数发现自己无法处理的错误时就会抛出异常,让函数的调用者处理这个错误 throw:当出现问题时,程序会抛出一个异常,通过 throw 来完成catch:catch 关键字捕获异…

腾讯:将LLM排序能力迁移至BERT

📖标题:Best Practices for Distilling Large Language Models into BERT for Web Search Ranking 🌐来源:arXiv, 2411.04539 🌟摘要 🔸最近的研究强调了大型语言模型(LLM)作为零样…

unity 打包WebGL打开后Input无法输入中文,在手机端无法调用输入法(使用WebGLInput)

成果展示 1、只是在电脑上运行时 使用TexMeshPro-InputField组件就可以输入中文了 2.不仅在电脑上运行,还需要在移动端运行 这个时候就需要使用WebGLInput插件,连接里有测试demo 1、下载后把WebGLSupport.unitypackage 导入到工程里 2、给input添加两…

服务器上部署并启动 Go 语言框架 **GoZero** 的项目

要在服务器上部署并启动 Go 语言框架 **GoZero** 的项目,下面是一步步的操作指南: ### 1. 安装 Go 语言环境 首先,确保你的服务器上已安装 Go 语言。如果还没有安装,可以通过以下步骤进行安装: #### 1.1 安装 Go 语…

如何通过统一权限管理打破异构系统的安全屏障

企业在运营过程中面临着众多异构系统的整合挑战,这些异构系统由于其不同的技术架构、数据格式和安全机制等,给信息管理带来了诸多挑战。其中,“信息孤岛”问题尤为突出,而异构环境下的统一授权管理系统则成为解决这一问题的关键。…

【IDEA】插件篇(JClassLib)

一、JClassLib 1、概述 jclasslib 字节码编辑器是一个可视化已编译Java类文件和包含的字节码的工具。 项目地址:https://github.com/ingokegel/jclasslib 其他反编译工具:javap、arthas 2、安装 IntelliJ IDEA -> Preferences -> Plugins&am…

机器学习阶段学习Day31

KNN分类算法 KNN算法原理 根据K个邻居样本来判断当前样本属于哪个类别:K个最相似邻居中大多数所属类别即为当前样本的类别。但是对于数据量巨大或者高纬度的数据样本不太合适,数据量大的数据样本需要进行大量计算,而高纬度数据计算距离不具…

深入理解前端路由

目录 前言1. 什么是路由2. Vue Router 的基础2.1 安装 Vue Router2.2 创建路由器2.3 在应用中使用 Vue Router 3. 路由切换与编程式导航3.1 声明式导航3.2 编程式导航 4. 子路由:结构化的路由管理4.1 子路由的定义4.2 子路由的渲染 5. 高级用法:路由守卫…

【UGUI】Unity 游戏开发:背包系统初始化克隆道具

在游戏开发中,背包系统是一个非常常见的功能模块。它允许玩家收集、管理和使用各种道具。今天,我们将通过一个简单的示例来学习如何在 Unity 中初始化一个背包系统。我们将使用 Unity 2021.3.7 版本,并结合 C# 脚本来实现这一功能。 1. 场景…

grafana+prometheus+windows_exporter实现windows进程资源占用的监控

grafanaprometheuswindows_exporter实现windows进程资源占用的监控TOC 一、 管理端搭建,采用windows版本的grafanaprometheus 管理端安装部署不做本文终端,简单讲解一下,此处采用msi的grafana安装包,和免安装版本的prometheus 1…

ElementUI之给el-table实现搜索功能

1&#xff0c;有一个表格 <el-table:data"tableData"borderstyle"width: 100%"><el-table-columnprop"date"label"日期"width"180"></el-table-column><el-table-columnprop"name"label&quo…

Chrome 浏览器 131 版本开发者工具(DevTools)更新内容

Chrome 浏览器 131 版本开发者工具&#xff08;DevTools&#xff09;更新内容 一、使用 Gemini 调试 CSS Chrome DevTools 现在推出了一个新的实验性 AI 辅助面板&#xff0c;可以与 Gemini 聊天并获得帮助来调试 CSS。 在 Elements 面板中&#xff0c;右键点击一个元素并选…

Ubuntu20.04 Rk3588 交叉编译ffmpeg7.0

firefly 公司出的rk3588的设备&#xff0c;其中已经安装了gcc 交叉编译工具&#xff0c;系统版本是Ubuntu20.04。 使用Ubuntu20.04 交叉编译ffmpeg_ubuntu下配置ffmpeg交叉编译器为arm-linux-gnueabihf-gcc-CSDN博客文章浏览阅读541次。ubuntu20.04 交叉编译ffmpeg_ubuntu下配…

蓝桥杯第22场小白入门赛2~5题

这场比赛开打第二题就理解错意思了&#xff0c;还以为只能用3个消除和5个消除其中一种呢&#xff0c;结果就是死活a不过去&#xff0c;第三题根本读不懂题意&#xff0c;这蓝桥杯的题面我只能说出的是一言难尽啊。。第四题写出来一点但是后来知道是错了&#xff0c;不会正解&am…

sagemaker中使用pytorch框架的DLC训练和部署cifar图像分类任务

参考资料 https://github.com/aws/amazon-sagemaker-examples/blob/main/sagemaker-python-sdk/pytorch_cnn_cifar10/pytorch_local_mode_cifar10.ipynbhttps://sagemaker.readthedocs.io/en/stable/frameworks/pytorch/using_pytorch.html 获取训练数据 # s3://zhaojiew-sa…

golang笔记8-函数

1. 基本函数 package mainimport "fmt"/*什么是函数&#xff1a;完成某一功能的程序指令的集合语法&#xff1a;func 函数名称(形参列表)(返回值类型列表){执行语句。。。返回值列表}注意事项&#xff1a;函数名&#xff1a;函数名首字母大写&#xff1a;可以被本包…

vite+vue3+ts编译vue组件后,编译产物中d.ts文件为空

一、前言 使用vue3vitets实现一个UI组件库&#xff0c;为了生成类型文件便于其他项目引用该组件库。根据推荐使用了vite-plugin-dts插件进行ts文件的生成 二、版本 组件版本vue ^3.5.12 vite ^5.4.10 vite-plugin-dts ^4.3.0 typescript ~5.6.2 三、问题描述 使用vitevi…

向量数据库FAISS之二:基础进阶版

基础 1.评价类型和距离 1.METRIC_L2 Faiss 使用了欧几里得 (L2) 距离的平方&#xff0c;避免了平方根。 这仍然与欧几里德距离一样单调&#xff0c;但如果需要精确距离&#xff0c;则需要结果的额外平方根。 2.METRIC_INNER_PRODUCT 这通常用于推荐系统中的最大内积搜索。…