Minio安装以及使用
Minio介绍
MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从数KB到最大5TB都能很好的支持。开源并且用Go语言开发,有web操作界面,我们可以用它来搭建兼容S3协议的存储云服务。相比 hadoop hdfs 分布式存储服务轻量很多,且支持单节点部署。
SDK(API):
官方安装文档,MinIO提供了很多语言的SDK跟API支持:javascript,Java,python,Golang、.Net。
分部署部署:
分布式MinIO里所有的节点需要有同样的access秘钥和secret秘钥,这样节点才能建立联接。需要在执行minio server命令之前,先将access秘钥和secret秘钥export成环境变量。
分布式MinIOo使用的磁盘里必须是干净的,里面没有数据。
分布式MinIO里的节点时间差不能超过3秒
分布式部署至少需要4个节点,否则启动会报错
MinIO支持单机部署、多租户部署、分布式部署。支持原始文件存储已经纠删码模式存储。单机部署时,可使用minio的客户端工具进行备份。
安装MinIO
MinIO的安装方式有很多,支持docker容器安装、二进制方式安装,这里我选择docker安装方式,docker环境默认已安装,docker可参考,本篇主要学习安装、以及上传图片。
2.1 拉取MinIO镜像
docker pull minio/minio
2.2 查看镜像
docker images
2.3 运行镜像MinIO
docker run -p 9090:9000 --name minio \
-v /etc/localtime:/etc/localtime \
-v /data/minio/data:/data \
-v /data/minio/config:/root/.minio \
-d minio/minio server /data
# 查看正在运行的容器
docker ps
# 查看MinIO容器日志 :
docker logs 0d3eaca91ffc
# 监控MinioDocker容器:
docker stats 0d3eaca91ffc
2.4 浏览器访问
- 登陆:在输入控制打印的默认的AccessKey和SecretKey:
AccessKey: minioadmin SecretKey: minioadmin
创建桶:进入系统后,我们先要点击右下角的“+”按钮,创建一个文件桶(输入名称后,回车即可),在上传文件到这个文件桶中。Create bucket(创建文件桶)、Upload file(上传文件),这里我创建了一个桶test,上传了一张图片
查看桶目录
进入服务器/data/minio/data目录,文件桶test相当于文件目录,这里没有使用纠删码的模式,所以直接就是源文件了。当我们线上运行的项目已经有源文件了,在使用minio的时候,可以直接指定该目录为minio的文件目录就行了。
- 分享链接
上传的文件,在文件列表界面有一个分享按钮,点击分享将生成文件的访问URL地址,以指定链接的有效时间,有效时间最多7天,最小的单位是分钟。在有效时间过期后在访问图片时,会提示失效。
- 存储桶访问策略
要想获取一个永久的访问路径,需要修改存储桶的访问策略,点击存储桶右上角的编辑策略按钮来修改访问策略,有三种访问策略可以选择:只读、只写、可读可写,这里我们选择只读即可,但是需要注意的是,访问前缀需要设置为.,否则会无法访问;
设置完成后,只需要通过拷贝链接中的前一串路径即可永久访问该文件
MinIO客户端
MinIO Client (mc)为ls,cat,cp,mirror,diff,find等UNIX命令提供了一种替代方案。它支持文件系统和兼容Amazon S3的云存储服务(AWS Signature v2和v4)。MinIO服务端中并没有自带客户端,所以我们需要安装配置完客户端后才能使用。
常用mc的命令:
命令 | 作用 |
---|---|
ls | 列出文件和文件夹 |
mb | 创建一个存储桶或一个文件夹 |
cat | 显示文件和对象内容 |
pipe | 将一个STDIN重定向到一个对象或者文件或者STDOUT |
share | 生成用于共享的URL |
cp | 拷贝文件和对象 |
mirror | 给存储桶和文件夹做镜像 |
find | 基于参数查找文件 |
diff | 对两个文件夹或者存储桶比较差异 |
rm | 删除文件和对象 |
events | 管理对象通知 |
watch | 监听文件和对象的事件 |
policy | 管理访问策略 |
session | 为cp命令管理保存的会话 |
config | 管理mc配置文件 |
update | 检查软件更新 |
version | 输出版本信息 |
3.1下载MinIO Client 的Docker镜像
docker pull minio/mc
3.2 运行镜像MinIO Client
# 如果想用mc操作其它S3兼容的服务,采用下面的方式来启动容器,然后使用mc config命令。
docker run -it --entrypoint=/bin/sh minio/mc
说明: -it 打开STDIN,用于控制台交互
--entrypoint="", 覆盖image的入口点
添加一个或多个S3兼容的服务,请参考下面说明。mc将所有的配置信息都存储在~/.mc/config.json文件中。
如果容器启动中,需要重新进入:
docker attach id #进入某个容器(使用exit退出后容器也跟着停止运行)
docker exec -ti id /bin/sh #启动一个伪终端以交互式的方式进入某个容器(使用exit退出后容器不停止运行)
docker exec -it ec6e0a2023e5 /bin/sh
3.3 添加一个云存储服务
命令格式:mc config host add [--api API-SIGNATURE]
别名ALIAS就是给你的云存储服务起了一个短点的外号
S3 endpoint,access key和secret key是你的云存储服务提供的
API签名是可选参数,默认情况下,它被设置为"S3v4"
mc config host add minio http://172.20.32.232:9090 minioadmin minioadmin --api s3v4
3.4 常用操作
mc ls minio //查看存储桶
mc ls minio/test //查看存储桶test中存在的文件
3.5 创建存储桶(比如:存储桶dnps)
mc mb minio/dnps //创建一个名为dnps的存储桶
mc share download minio/test/small.jpg //共享test桶下small.jpg文件的下载路径
mc find minio/test --name "*.jpg" //查找test存储桶中的png文件
mc policy set download minio/dnps/ //设置权限:none, download, upload, public
mc policy list minio/dnps/ //查看存储桶当前权限
mc cp minio/test/small.jpg minio/dnps/ //拷贝文件和对象
Minio安装以及使用的更多相关文章
- minio 安装以及使用
1. 为了方便使用 docker 安装 docker run -p 9000:9000 minio/minio server /export 注意启动显示的 appkey secretkey C ...
- 对象存储服务MinIO安装部署分布式及Spring Boot项目实现文件上传下载
目录 一.MinIO快速入门 1. MinIO简介 2. CentOS7更换成阿里云镜像 3. 安装 3.1 下载 3.2 运行测试 4. 配置脚本执行文件 4.1 创建配置执行文件 4.2 执行 二 ...
- 安装 Minio服务
#MINIO SERVER Minio是在Apache License v2.0下发布的对象存储服务器.它与Amazon S3云存储服务兼容. 它最适合存储非结构化数据,如照片,视频,日志文件,备份和 ...
- Linux或Docker里安装minio / Docker中安装h5ai
此文为单节点搭建操作 Linux中搭建minio 对象存储服务器 下载minio安装包 wget https://dl.minio.io/server/minio/release/linux-amd6 ...
- Linux安装Minio
Linux安装Minio 一.安装包方式安装 1.下载minio 1.1 手动下载:https://docs.min.io/docs/minio-quickstart-guide.html 访问上 ...
- 使用rclone 进行minio 文件同步
rclone 是一个开源的就有命令行的同步工具,主要是面向云存储的数据同步 安装 mac 系统 操作 cd && curl -O https://downloads.rclone.or ...
- nexus && minio s3 存储私有镜像
对于新版本的nexus 已经支持s3 存储了(3.12),但是企业内部可能还是需要使用私有部署的 还好我们有minio,具体的介绍就不说了 minio 项目运行 参考项目: https://githu ...
- drill 集成开源s3 存储minio
drill 支持s3数据的查询,同时新版的通过简单配置就可以实现minio 的集成 测试使用docker 运行drill 参考 https://www.cnblogs.com/rongfenglian ...
- MinIO分布式集群的扩展方案及实现
目录 一.命令行方式扩展 1. MinIO扩展集群支持的命令语法 2. 扩容示例 二.etcd扩展方案 1. 环境变量 2. 运行多个集群 3. 示例 相关链接 MinIO 支持两种扩展方式: 通过修 ...
- minio文件上传与下载
目录 一.minio简介 二.minio安装 一.java中使用 一.minio简介 MinIO 是在 GNU Affero 通用公共许可证 v3.0 下发布的高性能对象存储. 它是与 Amazon ...
随机推荐
- 如何让你的C语言程序打印的log多一点色彩?(超级实用)
接着上一篇文章<由字节对齐引发的一场"血案" > 在平常的调试中,printf字体格式与颜色都是默认一致的. 如果可以根据log信息的重要程度,配以不同的颜色与格式,可 ...
- 【CMake系列】09-cmake install 一般文件 文件夹 代码文件
上一节,我们学习了项目构建后.目标的安装,本节学习的内容是 对于一般文件,文件夹以及源代码的安装 本节的文件依然使用 file(WRITE xxx.xx) 来创建,不依赖额外的文件 本专栏的实践代码全 ...
- 为什么用Vite框架?来看它的核心组件案例详解
Vite 是一个前端构建工具,它以其快速的开发服务器和生产优化的打包器而闻名前端界,今天的内容,必须得唠唠 Vite 的关键能力,以下是 Vite 的核心组件分析,以及使用案例: 原理分析: Vite ...
- 004.MinIO-DirectPV分布式存储部署
MinIO部署介绍 部署概述 Kubernetes hostpath.local和本地静态配置都存在需要事先在node节点准备好可用的块存储或文件系统,例如对插入的硬盘,或者磁盘阵列做分区格式化,文件 ...
- C++ 项目目录结构
目录结构 project_root/ ├── bin/ # 可执行文件目录 │ ├── my_app # 可执行文件 │ └── ... # 其他可执行文件或脚本 │ ├── build/ # 编译产 ...
- Kubernetes-4:kubectl常用命令总结
kubectl常用命令 1.kubectl get 显示资源 ## 查看pod列表,若pod后不指定名称空间(namespace),则默认为default名称空间 kubectl get pod ## ...
- Docker网络上篇-网络介绍
通过前面的学习,我们已经可以把自己写的微服务项目通过dockerfile文件方式部署到docker上面了.那么微服务之间通信,怎么通信的?是在同一个网络还是在不同的网络环境下?docker中怎么配置网 ...
- Openstack-dashboard默认配额
创建实例不超过10个 方法一 修改配置文件 在使用openstack的过程中,默认创建的实例最多10个,这是因为配额默认实例就是10 所以我们需要修改配置文件/etc/nova/nova.conf中的 ...
- 微信小程序--云开发支付闭环
云开发支付流程闭环 extends 微信小程序--使用云开发完成支付闭环 在上述文章中,我们对支付结果的处理更多依赖于小程序端的操作 订单号存储在小程序端 支付结果采用小程序端定时触发器轮询 现在我对 ...
- 【合合TextIn】深度解析智能文档处理技术与应用
一.智能文档处理介绍 智能文档处理(Intelligent Document Processing, IDP)是利用人工智能(AI).机器学习(ML).计算机视觉(CV).自然语言处理(NLP)等技术 ...