我们平时做项目的时候,文件存储是一个很常见的需求。这个时候我们就要用到对象存储服务了。通常,我们可能会选择OSS、AWSS3等第三方服务。今天就带大家搭建属于自己的对象存储服务,可视化管理,非常好用!SpringBoot实战电商项目商城(50k+star)地址:https://github.com/macrozheng/mallMinIO介绍MinIO是一个基于Go语言的高性能对象存储服务,在Github上有28K+Star。采用ApacheLicensev2.0开源协议,非常适合存储大容量非结构化数据,如图片、视频、日志文件、备份数据、容器/虚拟机镜像等。安装使用Docker安装MinIO服务非常简单,几条命令就可以搞定!首先下载MinIO的Docker镜像;dockerpullminio/minio下载完成后,使用如下命令运行MinIO服务,注意使用--console-address指定MinIOConsole的运行端口(否则会运行在随机端口):dockerrun-p9090:9000-p9001:9001--nameminio\-v/mydata/minio/data:/data\-eMINIO_ROOT_USER=minioadmin\-eMINIO_ROOT_PASSWORD=minioadmin\-dminio/minioserver/data--console-address":9001"运行成功后,可以访问MinIOConsole的管理界面。输入账号密码minioadmin:minioadmin登录。访问地址:http://192.168.7.142:9090MinIOConsole使用MinIOConsole是MinIO自带的可视化管理工具。与上一代可视化工具相比,功能相当强大。让我们体验一下这个工具。先来看上一代的MinIOBrowser,基本只支持存储桶和文件的管理功能;再看看MinIOConsole,它不仅支持存储桶和文件的管理,还增加了用户、权限、日志等管理功能。有许多;在存储文件之前,我们首先要创建一个存储桶;创建成功后,上传一个文件;上传成功后,如果要从外部访问文件,需要设置访问策略为public,这里的策略只有public和private两种,不太灵活;之后把地址改成外网访问地址就可以访问图片了。默认情况下只能下载,不能直接查看(稍后我们会解决这个问题)。外网访问地址:http://192.168.7.142:9090/blo...客户端使用其实对于对象存储来说,MinIOConsole的功能还不够,所以官方也提供了客户端MinIOClient(简称mc)基于命令行,让我们去告诉我如何使用它。常用命令先来熟悉一下mc命令。这些命令与Linux中的命令有很多相似之处。ls列出文件和文件夹mb创建存储桶或文件夹rb删除存储桶或文件夹cat显示文件和对象内容pipe将STDIN重定向到对象或文件或为共享生成的STDOUT共享URLcp复制文件和对象mirror镜像存储桶和foldersfind根据参数查找文件diff比较两个文件夹或桶之间的差异rm删除文件和对象events管理对象notificationwatch监控文件和对象的事件policy管理访问Policysession是保存的会话配置,用于cp命令管理管理mc配置文件更新检查软件更新版本输出版本信息安装配置由于MinIO服务器没有自带客户端,所以我们在使用前需要先安装配置客户端。这里以在Docker环境下安装为例。下载MinIOClient的Docker镜像;dockerpullminio/mc在Docker容器中运行mc;dockerrun-it--entrypoint=/bin/shminio/mc运行后,我们需要配置配置自己的MinIO服务到客户端,配置格式如下;mcconfighostadd
