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 ...
随机推荐
- cdh6.3.2 hue集成hbase
参考地址:https://blog.csdn.net/u010886217/article/details/98606976
- 最详细STL(三)list
list就是链表啦,他的一个结点由两个指针域,一个数据域组成.list可以在任何位置以O(n)的复杂度插入元素,头部和尾部的插入的复杂度为O(1).然而list也有一个致命的缺点,因为链表的空间申请是 ...
- Ubuntu 设置 FTP 服务
安装 VSFTP 服务 sudo apt install vsftpd 检查配置文件 sudo vim /etc/vsftpd.conf 确保以下配置项正确: #禁止匿名访问 anonymous_en ...
- 函数防抖-TS实现
什么是函数防抖? 在事件被触发n秒后再执行回调,如果在这n秒内又被触发,则重新计时 实现很简单,大体就是设置一个变量来记录定时器,每次触发事件的时候就看定时器是否存在,如果存在清除一下,然后重新开启一 ...
- Asp.net 获取客户端的信息
Response.Write("客户端计算机名:" + Request.UserHostName + "<BR />"); Response.Wri ...
- Angular 学习笔记 (Typescript 版本更新)
记入每一期我会用到的功能 : v4.3 1. getter setter 的类型可以不一样咯, 这个困扰很久了. (interface, object, class 都可以这样用) class T ...
- 【首场重磅亮相】KaiwuDB 1.0 时序数据库线上发布会明日开启!邀您共同见证
首场重磅亮相 KaiwuDB 是浪潮集团控股的数据库企业,以多模数据库为核心,面向工业物联网.数字能源.交通车联网.智慧城市.数字政务等多种场景,提供领先创新的数据服务软件. 新生代数据库,扬帆起航正 ...
- 在Vue3中如何实现四种全局状态数据的统一管理?
四种全局状态数据 在实际开发当中,会遇到四种全局状态数据:异步数据(一般来自服务端).同步数据.同步数据又分为三种:localstorage.cookie.内存.在传统的 Vue3 当中,分别采用不同 ...
- C#中测试普通方法和对象类型以及泛型所需要的时间
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 13. 说一下$set,用在Vue2还是Vue3
$set 是 vue2 中对象用来追加响应式数据的方法 : 使用格式 : $set(对象 , 属性名 , 值 ) vue3中使用 proxy 替代了 Object.defineProperty 实现对 ...