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 ...
随机推荐
- 记一次解决OTA死机重启bug,如何分析与解决措施?!
背景: 平台:stm32mp151平台 什么是OTA? 说起OTA我们应该都不陌生,它是一种可以为设备无损失升级系统的方式,能将新功能远程部署到产品上. 我们不仅可以通过网络下载OTA升级包,也可以通 ...
- dfs剪枝与优化
搜索树 剪枝方法 1.优化搜索顺序 2.排除等效冗余 3.可行性 4.最优性(估价) 5.记忆化(树形不会重复计算时不需要) A.针对每个维度边界信息缩放.推倒 B.计算未来最少花费 C.结合各维度的 ...
- spring boot使用多数据源体验
小白是一名.net程序员,之前小白介绍了过了自己的博客系统http://www.ttblog.site/,用.net写厌了,所以想学下java尝尝鲜,于是小白准备用spring boot来实现一个博客 ...
- .NET 8.0 文档管理系统网盘功能的实现
前言 大家好,今天推荐一个文档管理系统Dorisoy.Pan. Dorisoy.Pan 是一个基于 .NET 8 和 WebAPI 构建的文档管理系统,它集成了 Autofac.MediatR.JWT ...
- three.js实现太阳系
前言 刚开始使用three.js时会不太熟悉,想写一些项目增加理解,网上翻了好多文章,不是画立方体就是画三角形,最后偶然看到这个网站,十分炫酷. 我们也许没那么牛逼,但我们可以整个简略版的太阳系来练练 ...
- UDT(一):概览
1. 参考链接 官网 https://udt.sourceforge.io/ 谷博士对UDT的简单介绍 https://udt.sourceforge.io/doc/udt-2009.ppt 获取UD ...
- LCD屏幕显示PNG图像
正点原子LCD屏幕显示PNG图像 本文概要 这段时间在学习正点原子的IMX6ULL开发板,在应用编程中有一个代码练习是需要在LCD屏幕上显示PNG图像,但由于我的屏幕参数和教程中的有些出入,于是经过自 ...
- Openstack-删除卷:您被禁止执行 删除卷 (僵尸卷)
您被禁止执行 删除卷 (僵尸卷) 您被禁止执行 删除卷: 7f23a26a-27f2-4504-9191-0f5630a5bff5, 卷一直在创建,但实例已经被删除了 [root@controller ...
- Atziluth's Last Contest. 001题解
被dalaoYHH爆虐 问题 H:mcd 题目描述 给出两个长为 \(n\) 的数列 \({a_n},{b_n}\),保证 \(a_i\le b_i(i=1,2,\cdots,n)\). 现在您需要对 ...
- Windows安装winget
打开GitHub链接地址:https://github.com/microsoft/winget-cli/releases 选择最新版本,点进去后 找到名为后缀名为 ".msixbundle ...