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

docker数据卷插件

在docker中,对接外部存储我们通常需要docker的数据卷插件。docker中简要可分为两类 docker卷插件和CSI插件,其中docker卷插件分为两个版本,旧版的传统插件(legacy plugin/non-managed plugin)和新版的托管插件(managed plugin)。下面分章节讨论这几个问题

一、传统插件(legacy plugin/non-managed plugin)

传统插件推出初期得到了各大厂商支持。也有一些开源支持。下面是常见的插件

根据官网整理

插件

说明

发展现状

Azure File Storage plugin

允许您装载微软Azure的文件存储使用SMB 3.0协议将共享作为卷添挂载到Docker容器。

 

BeeGFS Volume Plugin

一个开源卷插件,用于在BeeGFS并行文件系统中创建持久卷。

2018年停止更新

Blockbridge plugin

提供对基于容器的持久存储选项的可扩展集合的访问的卷插件。它支持单主机和多主机Docker环境,具有租户隔离、自动配置、加密、安全删除、快照和QoS等功能。

 

Contiv Volume Plugin

一个开源卷插件,提供多租户、持久性、分布式存储和基于意图的使用。它支持Ceph和NFS协议。

2016年停止更新

Convoy plugin

用于各种存储后端(包括设备映射器和NFS)的卷插件。它是一个用Go语言编写的简单的独立可执行文件,提供了一个框架来支持特定于供应商的扩展,如快照、备份和恢复。

2018年停止更新

DigitalOcean Block Storage plugin

DigitalOcean的块存储解决方案。通过自动将给定的块存储卷附加到DigitalOcean droplet,并使该卷的内容可用于在该droplet上运行的Docker容器,从而将数据导入Docker生态系统。

 

DRBD plugin

通过DRBD副本提供高可用存储的卷插件,写入Docker卷的数据将在DRBD节点的群集中复制。

 

Flocker plugin

为Docker提供多主机可移植卷的卷插件,使您能够运行数据库和其他有状态容器,并在计算机群集中移动它们。

 

Fuxi Volume Plugin

作为OpenStack Kuryr项目的一部分开发的卷插件,通过利用OpenStack块存储服务Cinder实现Docker卷插件API。

 

gce-docker plugin

一个能够附加、格式化和挂载谷歌GCE的持久化磁盘卷插件

 

GlusterFS plugin

使用GlusterFS为Docker提供多主机卷管理的卷插件。

 

Horcrux Volume Plugin

一个用Go语言编写,支持SCP minio Amazon S3协议的插件,它允许按需,版本控制访问您的数据。它是一个开源插件,

2017年停止更新

HPE 3Par Volume Plugin

支持HPE 3Par和StoreVirtual iSCSI存储阵列的卷插件。

 

Infinit volume plugin

可以使用Docker轻松安装和管理Infinit卷的一个卷插件。

 

IPFS Volume Plugin

一个运行挂载ipfs文件系统作为卷的开放源代码卷插件。

 

Keywhiz plugin

使用Keywhiz作为中央存储库提供凭据和机密管理的插件。

 

Local Persist Plugin

扩展默认的卷插件。它允许您在主机上的任何位置指定装载点,即使通过删除卷命令 docker volume rm删除卷,文件依然存在在主机上。

2016年停止更新

NetApp Plugin (nDVP)

一个卷插件,可为NetApp存储产品组合提供与Docker生态系统的直接集成。nDVP产品包支持从存储平台到Docker主机的存储资源调配和管理,并提供了一个强大的框架,可用于在将来添加其他平台。

 

Netshare plugin

一个卷插件,为NFS 3/4、AWS EFS和CIFS文件系统提供卷管理。

2019年停止更新

Nimble Storage Volume Plugin

与Nimble Storage Unified Flash Fabric阵列集成的卷插件。该插件为Docker管理员提取阵列卷功能,以允许自行配置安全的多租户卷和克隆。

 

OpenStorage Plugin

支持群集的卷插件,可为文件和块存储解决方案提供卷管理。 它实现了一个供应商中立的规范,用于实现CoS、加密和快照等扩展。它有一些基于FUSE、NFS、NBD和EBS的示例驱动程序。

 

Portworx Volume Plugin

一个卷插件,可将任何服务器转变为横向扩展的聚合计算/存储节点,使用可与任何Docker调度程序配合使用的无共享存储后端,跨任何节点提供容器粒度存储和高可用性卷。

2016年停止更新

Quobyte Volume Plugin

将Docker连接到的卷插件 Quobyte 配额的数据中心文件系统,这是一个通用的可扩展和容错存储平台。

 

REX-Ray plugin

一个用Go语言编写的卷插件,为许多平台提供高级存储功能,包括VirtualBox、EC2、Google计算引擎、OpenStack和EMC。

2019年停止更新,依赖问题无法安装

Virtuozzo Storage and Ploop plugin

支持Virtuozzo Storage分布式云文件系统和ploop设备的卷插件。

 

VMware vSphere Storage Plugin

使客户能够满足vSphere环境中Docker容器的持久存储要求。

 

在自建集群里,一般考虑支持的存储协议为nfs、s3、cephfs

上述符合条件的开源项目如Rex-Ray、Netshare几乎都停止更新好几年了。现在再用这些插件也不太现实。

二、托管插件(managed plugin)

官网对于这个新插件的介绍非常简陋,实例里的插件也就只有vieux/sshfs和sample-volume-plugin两个无关痛痒的插件

从dockerhub搜索nfs插件:https://hub.docker.com/search?q=nfs&type=plugin

结果第一条为trajano/nfs-volume-plugin 这是一个托管插件。star数比较高,不过已经3年没更新了。

搜索的弊端是,搜索选项里没有区分传统插件和托管插件,云厂商的插件比较难找,缺乏相关的使用案例。

三、CSI插件

目前docker 23.0.0开始支持CSI插件,目前功能还没有完善。目前几乎还不支持docker swarm集群使用CSI插件。

相关的使用demo可以参考:https://github.com/olljanat/csi-plugins-for-docker-swarm

传统插件、托管插件和CSI插件的安装命令都是

docker plugin install [插件tag]

四、nfs挂载和使用

在自建集群中,nfs是最常用的挂载方式。

目前docker是支持nfs卷的挂载和使用的,默认的local driver插件就支持,这个插件已经内置,不需要再安装。

1.docker volume create方式

创建命令

docker volume create --driver local \--opt type=nfs \--opt o=addr=[ip-address],rw \--opt device=:[path-to-directory] \[volume-name]

安装nfs客户端

apt install nfs-common

挂载

docker run -d -it \--name [container-name] \--mount source=[volume-name],target=[mount-point]\[image-name]

2.yaml文件方式

编辑docker-compose.yml

version: "3.2"
services:[service-name]:image: [docker-image]ports:- "[port]:[port]"volumes:- type: volumesource: [volume-name]target: /nfsvolume:nocopy: true
volumes:[volume-name]:driver_opts:type: "nfs"o: "addr=[ip-address],nolock,soft,rw"device: ":[path-to-directory]"

相关文章:

docker数据卷插件

在docker中,对接外部存储我们通常需要docker的数据卷插件。docker中简要可分为两类 docker卷插件和CSI插件,其中docker卷插件分为两个版本,旧版的传统插件(legacy plugin/non-managed plugin)和新版的托管插件(managed plugin)。下面分章节讨…...

第二章-线程(3)

线程一、线程的定义二、线程的实现一、线程的定义 线程: 线程是进程中的一个实体,是系统独立调度和分派的基本单位。 进程是资源的拥有者,线程是系统独立调度和分配的基本单位。 进程与线程的比较: 调度:线程调度快…...

C++学习记录——칠 类和对象(4)

文章目录1、const成员2、取地址及const取地址操作符重载3、构造函数续集1、初始化列表2、explicit关键字4、static成员5、匿名对象6、友元1.友元函数2、友元类7、内部类1、const成员 看一段代码 class A { public:void Print(){cout << _a << endl;} private:int…...

Python-项目实战--飞机大战-碰撞检测(8)

目标了解碰撞检测方法碰撞实现1.了解碰撞检测方法pygame提供了两个非常方便的方法可以实现碰撞检测&#xff1a;pygame.sprite.groupcollide()两个精灵组中所有的精灵的碰撞检测groupcollide(group1, group2, dokill1, dokill2, collided None) -> Sprite_dict如果将dokill…...

T06 成绩排序

查找和排序 题目&#xff1a;输入任意&#xff08;用户&#xff0c;成绩&#xff09;序列&#xff0c;可以获得成绩从高到低或从低到高的排列,相同成绩 都按先录入排列在前的规则处理。 示例&#xff1a; jack 70 peter 96 Tom 70 smith 67 从高到低 成…...

【机器学习】Linear and Nonlinear Regression 线性/非线性回归讲解

文章目录一、回归问题概述二、误差项定义三、独立同分布的假设四、似然函数的作用五、参数求解六、梯度下降算法七、参数更新方法八、优化参数设置一、回归问题概述 回归&#xff1a;根据工资和年龄&#xff0c;预测额度为多少 其中&#xff0c;工资和年龄被称为特征&#xff0…...

PyQt5数据库开发1 4.1 SQL Server 2008 R2如何开启数据库的远程连接

文章目录 前言 步骤/方法 1 使用windows身份登录 2 启用混合登录模式 3 允许远程连接服务器 4 设置sa用户属性 5 配置服务器 6 重新登录 7 配置SSCM 8 确认防火墙设置 注意事项 前言 SQL Server 2008 R2如何开启数据库的远程连接 SQL Server 2008默认是不允许远程连…...

javassm高校学生评教系统的设计与实现idea msyql

伴随着社会以及科学技术的发展&#xff0c;互联网已经渗透在人们的身边&#xff0c;网络慢慢的变成了人们的生活必不可少的一部分&#xff0c;紧接着网络飞速的发展&#xff0c;管理系统这一名词已不陌生&#xff0c;越来越多的学校、公司等机构都会定制一款属于自己个性化的管…...

为什么神经网络做不了2次函数拟合,网上的都是骗人的吗?

环境&#xff1a;tensorflow2 kaggle 这几天突发奇想&#xff0c;用深度学习训练2次函数。先在网上找找相同的资料这方面资料太少了。大多数如下&#xff1a; 。 给我的感觉就是&#xff0c;用深度学习来做&#xff0c;真的很容易。 网上写出代码分析的比较少。但是也找到了…...

【Java】Help notes about JAVA

JAVA语言帮助笔记Java的安装与JDKJava命名规范JAVA的数据类型自动类型转换强制类型转换JAVA的运算符取余运算结果的符号逻辑运算的短路运算三元运算符运算符优先级JAVA的流程控制分支结构JAVA类Scanner类Java的安装与JDK JDK安装网站&#xff1a;https://www.oracle.com/java/…...

2023北京老博会,北京养老展,第十届中国国际老年产业博览会

2023第十届&#xff08;北京&#xff09;国际老年产业博览会&#xff0c;将于08月28-30日盛大举办&#xff1b; 2023北京老博会&#xff1a;2023第十届中国&#xff08;北京&#xff09;国际老年产业博览会The 2023 tenth China (Beijing) International Aged industry Expo&a…...

C++展开模板参数包、函数参数包-(lambda+折叠表达式)

开门见山 以下代码可展开模板参数包和展开函数参数包。 // lambda折叠表达式(需C17) #include <iostream> using namespace std;// 1.展开模板参数包 template<typename ...T> void Func1() {([]() {cout << typeid(T).name() << endl;}(), ...);// …...

【Spark分布式内存计算框架——Spark Core】7. RDD Checkpoint、外部数据源

第五章 RDD Checkpoint RDD 数据可以持久化&#xff0c;但是持久化/缓存可以把数据放在内存中&#xff0c;虽然是快速的&#xff0c;但是也是最不可靠的&#xff1b;也可以把数据放在磁盘上&#xff0c;也不是完全可靠的&#xff01;例如磁盘会损坏等。 Checkpoint的产生就是…...

Connext DDSQoS参考

1 QoS策略列表 ConnextDDS 6.1.1版中所有QoS策略的高级视图。 1. QoS策略描述...

【正则表达式】获取html代码文本内所有<script>标签内容

文章目录一. 背景二. 思路与过程1. 正则表达式中需要限定<script>开头与结尾2. 增加标签格式的限定3. 不限制<script>首尾的内部内容4. 中间的内容不能出现闭合的情况三. 结果与代码四. 正则辅助工具一. 背景 之前要对学生提交的html代码进行检查&#xff0c;在获…...

有 9 种springMVC常用注解高频使用,来了解下?

文章目录1、Controller2、RequestMapping2.1 RequestMapping注解有六个属性2.1.1 value2.1.2 method2.1.3 consumes2.1.4 produces2.1.5 params2.1.6 headers2.2 Request Mapping&#xff08;"/helloword/?/aa"&#xff09;的Ant路径&#xff0c;匹配符2.3 Request …...

【ES6】掌握Promise和利用Promise封装ajax

&#x1f4bb; 【ES6】掌握Promise和利用Promise封装ajax &#x1f3e0;专栏&#xff1a;JavaScript &#x1f440;个人主页&#xff1a;繁星学编程&#x1f341; &#x1f9d1;个人简介&#xff1a;一个不断提高自我的平凡人&#x1f680; &#x1f50a;分享方向&#xff1a;目…...

REDIS-持久化方案

我们知道redis是内存数据库&#xff0c;它的数据是存储在内存中的&#xff0c;我们知道内存的一个特点是断电数据就丢失&#xff0c;所以redis提供了持久化功能&#xff0c;可以将内存中的数据状态存储到磁盘里面&#xff0c;避免数据丢失。 Redis持久化有三种方案&#xff0c;…...

五、Java框架之Maven进阶

黑马课程 文章目录1. 分模块开发1.1 分模块开发入门案例示例&#xff1a;抽取domain层示例&#xff1a;抽取dao层1.2 依赖管理2. 聚合和继承2.1 聚合概述聚合实现步骤2.2 继承 dependencyManagement3. 属性管理3.1 依赖版本属性管理3.2 配置文件属性管理&#xff08;了解&#…...

1.前言【Java面试第三季】

1.前言【Java面试第三季】前言推荐1.前言00_前言闲聊和课程说明本课程介绍目前考核的变化趋势vcr集数和坚持学长谷粉面试题复盘反馈最后前言 2023-2-1 12:30:05 以下内容源自 【尚硅谷Java大厂面试题第3季&#xff0c;跳槽必刷题目必扫技术盲点&#xff08;周阳主讲&#xff0…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来&#xff0c;Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

线程同步:确保多线程程序的安全与高效!

全文目录&#xff1a; 开篇语前序前言第一部分&#xff1a;线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分&#xff1a;synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!

5月28日&#xff0c;中天合创屋面分布式光伏发电项目顺利并网发电&#xff0c;该项目位于内蒙古自治区鄂尔多斯市乌审旗&#xff0c;项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站&#xff0c;总装机容量为9.96MWp。 项目投运后&#xff0c;每年可节约标煤3670…...

MySQL JOIN 表过多的优化思路

当 MySQL 查询涉及大量表 JOIN 时&#xff0c;性能会显著下降。以下是优化思路和简易实现方法&#xff1a; 一、核心优化思路 减少 JOIN 数量 数据冗余&#xff1a;添加必要的冗余字段&#xff08;如订单表直接存储用户名&#xff09;合并表&#xff1a;将频繁关联的小表合并成…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

适应性Java用于现代 API:REST、GraphQL 和事件驱动

在快速发展的软件开发领域&#xff0c;REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名&#xff0c;不断适应这些现代范式的需求。随着不断发展的生态系统&#xff0c;Java 在现代 API 方…...

Linux中《基础IO》详细介绍

目录 理解"文件"狭义理解广义理解文件操作的归类认知系统角度文件类别 回顾C文件接口打开文件写文件读文件稍作修改&#xff0c;实现简单cat命令 输出信息到显示器&#xff0c;你有哪些方法stdin & stdout & stderr打开文件的方式 系统⽂件I/O⼀种传递标志位…...

智能职业发展系统:AI驱动的职业规划平台技术解析

智能职业发展系统&#xff1a;AI驱动的职业规划平台技术解析 引言&#xff1a;数字时代的职业革命 在当今瞬息万变的就业市场中&#xff0c;传统的职业规划方法已无法满足个人和企业的需求。据统计&#xff0c;全球每年有超过2亿人面临职业转型困境&#xff0c;而企业也因此遭…...

Python常用模块:time、os、shutil与flask初探

一、Flask初探 & PyCharm终端配置 目的: 快速搭建小型Web服务器以提供数据。 工具: 第三方Web框架 Flask (需 pip install flask 安装)。 安装 Flask: 建议: 使用 PyCharm 内置的 Terminal (模拟命令行) 进行安装,避免频繁切换。 PyCharm Terminal 配置建议: 打开 Py…...