MinIO 是一款基于 Go 语言发开的高性能、分布式的对象存储系统,客户端支持 Java,Net,Python,Javacript,Golang语言。
MinIO 的主要目标是作为私有云对象存储的标准方案,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据、容器和虚拟机镜像等,而一个对象文件可以是任意大小,从几 kb 到最大 5T。
如果有搭建私有对象存储服务的需求,MinIO 非常适合。本文将介绍使用 Docker 快速搭建一个 MinIO 服务。
在 Docker Hub 搜索 MinIO 相关镜像,使用这一个:
按照文档的说明,下载镜像:
$ docker pull bitnami/minio
查看下载好的镜像:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
bitnami/minio latest 5ce0a7a9aaff About an hour ago 218MB
创建数据卷目录,并提升权限:
$ mkdir -p /minio1/data
$ chmod -R 777 /minio/data
使用镜像启动一个 minio
容器:
$ docker run -it -d --name minio \
-p 9000:9000 -p 9001:9001 \
-v /minio/data:/data \
-e MINIO_ROOT_USER="minio_root" \
-e MINIO_ROOT_PASSWORD="minio_123456" \
bitnami/minio:latest
参数说明:
在 minio 镜像的文档中提到了:
Make sure that the environment variables
MINIO_ROOT_PASSWORD
andMINIO_SERVER_SECRET_KEY
meet the 8 character minimum length requirement enforced by MinIO®.
也就是通过环境变量 MINIO_ROOT_PASSWORD
设置 root 用户密码时,长度至少为 8 位,这一点需要注意。
查看 minio 容器的启动日志:
$ docker lgos minio -f
可以看到一些关键信息:
API
也就是对外提供资源存取服务的地址,Console
是控制台,也就是一个后台管理系统。RootUser
是通过环境变量设置的 root 用户名,RootPass
是 root 用户密码。创建容器时没有指定这两个环境变量的话,这里会提供两个默认的值,分别是 minio
和 miniosecret
。
查看 minio 容器的信息:
$ docker ps
可以看到容器的 ID,所使用的的镜像,运行状态,端口等信息:
MinIO 服务用到了 9000 和 9001 端口,如果使用的是云服务器,需要在安全组中开放端口:
打开浏览器,访问 域名:9001
或者 IP:9001
,即可访问 MinIO 服务的管理系统,使用设置好的用户名和密码,登录系统:
进入系统首页,默认展示存储桶列表,由于现在是一个新的服务,所以还是空的:
根据提示,点击 “Create a Bucket” 开始创建第一个存储桶:
点击按钮即可完成桶的创建,如下,是刚刚创建的存储桶的卡片展示:
点击存储桶,进入此桶的概要展示页面:
点击访问策略,修改为 Public 公共策略,这样 MinIO 中的文件才能被外界访问:
在一个存储桶内,右上角有一个上传的按钮,可以上传文件或者文件夹。
文件上传成功后,点击文件可查看文件的详情:
文件详情右侧提供了一些常用的功能,比如下载,分享和预览,展示文件的基本信息。
上方的路径可以复制下来,拼接上 MinIO 服务的地址,就是此文件的 URL 了。一定要把桶的访问策略改为 Public,否则访问此 URL 将返回 403。
整理了一套《前端大厂面试宝典》,包含了HTML、CSS、JavaScript、HTTP、TCP协议、浏览器、VUE、React、数据结构和算法,一共201道面试题,并对每个问题作出了回答和解析。
有需要的小伙伴,可以点击文末卡片领取这份文档,无偿分享
部分文档展示:
文章篇幅有限,后面的内容就不一一展示了
有需要的小伙伴,可以点下方卡片免费领取