> 文章列表 > Centos7 部署单机 Minio 对象存储服务

Centos7 部署单机 Minio 对象存储服务

Centos7 部署单机 Minio 对象存储服务

        MinIO 是一款基于 Go 语言发开的高性能、分布式的对象存储系统,客户端支持 Java,Net,Python,Javacript,Golang语言。

        MinIO 的主要目标是作为私有云对象存储的标准方案,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据、容器和虚拟机镜像等,而一个对象文件可以是任意大小,从几 kb 到最大 5T。

        如果有搭建私有对象存储服务的需求,MinIO 非常适合。本文将介绍使用 Docker 快速搭建一个 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 

        参数说明:

  • -it:-i 表示以交互模式运行容器,-t 表示为容器重新分配一个伪输入终端,两个参数必须结合使用才能启动一个容器
  • -d:以守护进程方式来启动容器,这也是常用参数,防止阻塞当前窗口
  • -p 9000:9000:MinIO 服务会暴露 9000 端口来对外提供对象访问,也就是通过此端口运行的服务来访问资源
  • -p 9001:9001:MinIO 服务会提供一个可视化管理系统,默认在 9001 端口运行
  • -v /minio/data:/data:挂载数据卷,将 minio 容器内存储的文件映射到宿主机
  • -e MINIO_ROOT_USER=“minio_root”:设置 root 用户名
  • -e MINIO_ROOT_PASSWORD=“minio_123456”:设置 root 的密码,长度至少 8 位

        在 minio 镜像的文档中提到了:

Make sure that the environment variables MINIO_ROOT_PASSWORD and MINIO_SERVER_SECRET_KEY meet the 8 character minimum length requirement enforced by MinIO®.

        也就是通过环境变量 MINIO_ROOT_PASSWORD 设置 root 用户密码时,长度至少为 8 位,这一点需要注意。

        查看 minio 容器的启动日志:

$ docker logs minio -f 

        可以看到一些关键信息:

        API 也就是对外提供资源存取服务的地址,Console 是控制台,也就是一个后台管理系统。RootUser 是通过环境变量设置的 root 用户名,RootPass 是 root 用户密码。创建容器时没有指定这两个环境变量的话,这里会提供两个默认的值,分别是 minio 和 miniosecret

        查看 minio 容器的信息:

$ docker ps 

        可以看到容器的 ID,所使用的的镜像,运行状态,端口等信息:

开放安全组端口

        MinIO 服务用到了 9000 和 9001 端口,如果使用的是云服务器,需要在安全组中开放端口:

访问 MinIO

        打开浏览器,访问 域名:9001 或者 IP:9001 ,即可访问 MinIO 服务的管理系统,使用设置好的用户名和密码,登录系统:

        进入系统首页,默认展示存储桶列表,由于现在是一个新的服务,所以还是空的:

创建桶

        根据提示,点击 “Create a Bucket” 开始创建第一个存储桶:

        点击按钮即可完成桶的创建,如下,是刚刚创建的存储桶的卡片展示:

        点击存储桶,进入此桶的概要展示页面:

        点击访问策略,修改为 Public 公共策略,这样 MinIO 中的文件才能被外界访问:

上传文件

        在一个存储桶内,右上角有一个上传的按钮,可以上传文件或者文件夹。

        文件上传成功后,点击文件可查看文件的详情:

        文件详情右侧提供了一些常用的功能,比如下载,分享和预览,展示文件的基本信息。

        上方的路径可以复制下来,拼接上 MinIO 服务的地址,就是此文件的 URL 了。一定要把桶的访问策略改为 Public,否则访问此 URL 将返回 403。

        到此 Centos7 docker 搭建 Minio 对象存储服务介绍完成。