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提供了两个非常方便的方法可以实现碰撞检测:pygame.sprite.groupcollide()两个精灵组中所有的精灵的碰撞检测groupcollide(group1, group2, dokill1, dokill2, collided None) -> Sprite_dict如果将dokill…...

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

【机器学习】Linear and Nonlinear Regression 线性/非线性回归讲解
文章目录一、回归问题概述二、误差项定义三、独立同分布的假设四、似然函数的作用五、参数求解六、梯度下降算法七、参数更新方法八、优化参数设置一、回归问题概述 回归:根据工资和年龄,预测额度为多少 其中,工资和年龄被称为特征࿰…...

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

为什么神经网络做不了2次函数拟合,网上的都是骗人的吗?
环境:tensorflow2 kaggle 这几天突发奇想,用深度学习训练2次函数。先在网上找找相同的资料这方面资料太少了。大多数如下: 。 给我的感觉就是,用深度学习来做,真的很容易。 网上写出代码分析的比较少。但是也找到了…...

【Java】Help notes about JAVA
JAVA语言帮助笔记Java的安装与JDKJava命名规范JAVA的数据类型自动类型转换强制类型转换JAVA的运算符取余运算结果的符号逻辑运算的短路运算三元运算符运算符优先级JAVA的流程控制分支结构JAVA类Scanner类Java的安装与JDK JDK安装网站:https://www.oracle.com/java/…...
2023北京老博会,北京养老展,第十届中国国际老年产业博览会
2023第十届(北京)国际老年产业博览会,将于08月28-30日盛大举办; 2023北京老博会:2023第十届中国(北京)国际老年产业博览会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 数据可以持久化,但是持久化/缓存可以把数据放在内存中,虽然是快速的,但是也是最不可靠的;也可以把数据放在磁盘上,也不是完全可靠的!例如磁盘会损坏等。 Checkpoint的产生就是…...
Connext DDSQoS参考
1 QoS策略列表 ConnextDDS 6.1.1版中所有QoS策略的高级视图。 1. QoS策略描述...

【正则表达式】获取html代码文本内所有<script>标签内容
文章目录一. 背景二. 思路与过程1. 正则表达式中需要限定<script>开头与结尾2. 增加标签格式的限定3. 不限制<script>首尾的内部内容4. 中间的内容不能出现闭合的情况三. 结果与代码四. 正则辅助工具一. 背景 之前要对学生提交的html代码进行检查,在获…...
有 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("/helloword/?/aa")的Ant路径,匹配符2.3 Request …...
【ES6】掌握Promise和利用Promise封装ajax
💻 【ES6】掌握Promise和利用Promise封装ajax 🏠专栏:JavaScript 👀个人主页:繁星学编程🍁 🧑个人简介:一个不断提高自我的平凡人🚀 🔊分享方向:目…...

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

五、Java框架之Maven进阶
黑马课程 文章目录1. 分模块开发1.1 分模块开发入门案例示例:抽取domain层示例:抽取dao层1.2 依赖管理2. 聚合和继承2.1 聚合概述聚合实现步骤2.2 继承 dependencyManagement3. 属性管理3.1 依赖版本属性管理3.2 配置文件属性管理(了解&#…...
1.前言【Java面试第三季】
1.前言【Java面试第三季】前言推荐1.前言00_前言闲聊和课程说明本课程介绍目前考核的变化趋势vcr集数和坚持学长谷粉面试题复盘反馈最后前言 2023-2-1 12:30:05 以下内容源自 【尚硅谷Java大厂面试题第3季,跳槽必刷题目必扫技术盲点(周阳主讲࿰…...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...

Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...
MySQL 8.0 事务全面讲解
以下是一个结合两次回答的 MySQL 8.0 事务全面讲解,涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容,并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念(ACID) 事务是…...
Python网页自动化Selenium中文文档
1. 安装 1.1. 安装 Selenium Python bindings 提供了一个简单的API,让你使用Selenium WebDriver来编写功能/校验测试。 通过Selenium Python的API,你可以非常直观的使用Selenium WebDriver的所有功能。 Selenium Python bindings 使用非常简洁方便的A…...

【UE5 C++】通过文件对话框获取选择文件的路径
目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 ,这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器,右键点击 .uproject 文件,选择 "Generate Visual Studio project files",重…...