
一、什么是Minio
MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。
MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。
二、服务端部署
docker run -d -p 9000:9000 -p 9001:9001 --name minio \--restart=always \-e MINIO_ACCESS_KEY=admin \-e MINIO_SECRET_KEY=admin@123 \-v /data/minio:/data \minio/minio:RELEASE.2021-03-26T00-00-41Z-25-g87bb1113b server /data
注:密码至少为8位,不能为latest版本,因为最新版本差异比较大
最新版镜像启动脚本
docker run -d -p 9000:9000 -p 9001:9001 --name minio \--restart=always \-e MINIO_ROOT_USER=admin \-e MINIO_ROOT_PASSWORD=admin@123 \-v /data/minio:/data \minio/minio server --console-address ":9001" /data
最新版镜像启动脚本中需要增加--console-address ":9001"参数,最新版采用console来管理,关于版本的区别可以参考官网。
wget https://dl.min.io/server/minio/release/linux-amd64/miniochmod +x minio./minio server /data
通过docker安装后,在浏览器中输入:http://localhost:9000

输入用户名密码:admin/123456789。之前设置的ACCESS_KEY和SECRET_KEY
点击右下角的加号,“create bucket”,创建完android和ios

选中bucket后,点右下角的加号,选择upload,上传文件。
三、客户端部署
MinIO Client (mc)为ls,cat,cp,mirror,diff,find等UNIX命令提供了一种替代方案。它支持文件系统和兼容Amazon S3的云存储服务(AWS Signature v2和v4)。
ls 列出文件和文件夹。mb 创建一个存储桶或一个文件夹。cat 显示文件和对象内容。pipe 将一个STDIN重定向到一个对象或者文件或者STDOUT。share 生成用于共享的URL。cp 拷贝文件和对象。mirror 给存储桶和文件夹做镜像。find 基于参数查找文件。diff 对两个文件夹或者存储桶比较差异。rm 删除文件和对象。events 管理对象通知。watch 监听文件和对象的事件。policy 管理访问策略。session 为cp命令管理保存的会话。config 管理mc配置文件。update 检查软件更新。version 输出版本信息。
docker pull minio/mc
wget https://dl.min.io/client/mc/release/linux-amd64/mcchmod +x mc./mc --help
我们使用mc来管理本地安装的服务端minio,先停止服务端,再运行客户端:
docker run -it --entrypoint=/bin/sh minio/mcsh-4.4# mc alias set local http://192.168.6.249:9000mc: Configuration written to `/root/.mc/config.json`. Please update your access credentials.mc: Successfully created `/root/.mc/share`.mc: Initialized share uploads `/root/.mc/share/uploads.json` file.mc: Initialized share downloads `/root/.mc/share/downloads.json` file.Enter Access Key: adminEnter Secret Key:Added `local` successfully.
这里的local是为本地minio服务取的别名,需要输入access key和secret key,回车后如果出Added `local` successfully,则说明部署成功。
查看bucket
sh-4.4# mc ls local/android[2021-01-15 03:28:49 UTC] 117KiB 合格1:yuvj420p.jpg[2021-01-15 03:31:21 UTC] 5.7KiB 微信图片_20201118110610.png
创建bucket
sh-4.4# mc mb local/testBucket created successfully `local/test`.sh-4.4# mc ls local[2021-01-15 03:28:43 UTC] 0B android/[2021-01-15 03:31:41 UTC] 0B ios/[2021-01-15 05:28:25 UTC] 0B test/
通过服务端也可以看到创建的bucket

按树状形式展示
sh-4.4# mc tree locallocal├─ android├─ ios└─ test
查看内容
sh-4.4# mc ls local/test[2021-01-15 05:33:15 UTC] 10B minio.txtsh-4.4# mc cat local/test/minio.txttest miniosh-4.4#
拷贝文件
拷贝文件,将test下的minio.txt拷贝到ios目录下
sh-4.4# mc cp local/test/minio.txt local/ios/...49:9000/test/minio.txt: 10 B / 10 B ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 199 B/s 0ssh-4.4# mc ls local/ios[2021-01-15 03:31:50 UTC] 45KiB core-min.js[2021-01-15 05:35:10 UTC] 10B minio.txt
删除bucket
sh-4.4# mc ls local[2021-01-15 03:28:43 UTC] 0B android/[2021-01-15 03:31:41 UTC] 0B ios/[2021-01-15 05:28:25 UTC] 0B test/sh-4.4# mc rb local/test --forceRemoved `local/test` successfully.sh-4.4# mc ls local[2021-01-15 03:28:43 UTC] 0B android/[2021-01-15 03:31:41 UTC] 0B ios/
删除bucket中的文件
sh-4.4# mc ls local/test[2021-01-15 05:40:30 UTC] 10B minio.txtsh-4.4# mc rm local/test/minio.txtRemoving `local/test/minio.txt`.sh-4.4# mc ls local/testsh-4.4#
/
关
注
我
们
/

/ 微信号 / 程序老哥/




