minio⽂件预览_Minio安装以及使⽤
介绍
MinIO 是⼀个基于 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:
docker进入容器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"
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/ //拷贝⽂件和对象
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论