一、简介

平时做项目的时候,文件存储是个很常见的需求。这时候就会用到对象存储服务,平时可能会选择 OSS、AWS S3 这类第三方服务。今天带大家搭建一款自己的对象存储服务,带可视化管理,用起来也挺简单!

MinIO 是一款基于 Go 语言的高性能对象存储服务。它采用了 Apache License v2.0 开源协议,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等。

二、环境准备

服务器 系统 备注
192.168.184.130 centos7 Linux部署方式、docker 部署方式
192.168.0.107 Windows Windows 部署方式

三、部署

MinIO 是支持多平台的 Windows、macOS、Linux、Docker 都支持,各个平台部署起来相对简单。MinIO 部署分为两个模式,一个是单模式,另一个是分布式模式

首先提前说明一下,9000 和 9001 是端口号,如果被占用,可以使用其他的端口号, - v 就是路径了,这里可以创建一个,或者使用其他的路径就好了

3.1 Docker

使用下面命令即可启动一个 minio 实例,这里指定了账号 admin:admin123456,数据存储在宿主机的 /mnt/data 目录下

docker run -d --restart always -p 9000:9000 -p 9001:9001 --name minio -v /mnt/data:/data -e "MINIO_ROOT_USER=admin" -e "MINIO_ROOT_PASSWORD=admin123456" minio/minio server /data --console-address ":9001"

异常解决(补充)

有些小伙伴启动后会发现访问不了,使用 docker logs [容器id] ,可以看到 mkdir /data/.minio.sys: permission denied 的错误
这个也有解决办法,就是在启动命令中加 --privileged=true 参数即可

docker run -d --restart always --privileged=true -p 9000:9000 -p 9001:9001 --name minio -v /mnt/data:/data -e "MINIO_ROOT_USER=admin" -e "MINIO_ROOT_PASSWORD=admin123456" minio/minio server /data --console-address ":9001"


这是因为大约在 0.6 版,privileged 被引入docker。使用该参数,container 内的root拥有真正的 root 权限。否则,container 内的 root 只是外部的一个普通用户权限。privileged 启动的容器,可以看到很多 host 上的设备,并且可以执行 mount 。甚至允许在 docker 容器中启动 docker 容器。

3.2 GNU/Linux

首先使用下面 wget 命令进行下载,我这里放置的是 /var/local/ 目录下,然后使用 chmod 赋予权限

wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio

下载完成后,就可以启动 MinIO 了。不过在启动之前先创建一下数据存储的目录 /data/minio,然后就可以使用命令启动 MinIO 了

mkdir -p /data/minio
./minio server /data/minio --console-address ":9001"

3.3 Windows

点击地址 https://dl.min.io/server/minio/release/windows-amd64/minio.exe 对 MiniO 进行下载

下载完成后,在可执行文件夹下启动命令行工具,执行下面命令,即可启动 MiniO

minio.exe server D:\Data\MiniO --console-address ":9001"

D:\Data\MiniO :支持 minio 数据持久存储的目录

四、MinIO Console

在启动 MinIO 时,会发现通常指定了两个端口,其中 90001 就是 Console 的端口。浏览器访问 console http://192.168.0.107:9001/,输入指定的账户,在没有指定的情况下默认是 minioadmin:minioadmin,docker 中可以指定如上面的部署 admin:admin123456

五、MinIO Client

对于对象存储来说,MinIO Console 的功能还是不够用的,所以官方还提供了基于命令行的客户端 MinIO Client (简称 mc),下面来讲讲它的使用方法。MinIO 也是支持多平台的 Windows、macOS、Linux、Docker 都支持,部署起来也相对简单。

5.1 安装及配置

5.1.1 Windows

访问 https://dl.min.io/client/mc/release/windows-amd64/mc.exe 下载 mc

然后在 mc 文件目录,启动命令行客户端。现在的 mc 与 server 是没有关联的,可以使用下面命令在 mc 添加 server,这里在 Windows 连接 docker 中部署的 server

mc config host add minio http://192.168.184.130:9000 admin admin123456

格式:mc config host add <ALIAS> <YOUR-S3-ENDPOINT> <YOUR-ACCESS-KEY> <YOUR-SECRET-KEY>

5.2 常用操作

更多的操作可以使用 mc --help 进行查看

# 查看存储桶
mc ls minio
# 查看存储桶中存在的文件
mc ls minio/blog

六、兼容AWS S3

当对接第三方服务要用到对象存储时,这些服务往往都是支持 AWS S3 的。由于 MinIO 兼容 AWS S3 的大多数 API,我们可以直接拿它当 AWS S3 来使用。

访问地址 https://s3browser.com/ 下载S3 客户端工具,然后按照提示下一步下一步即可完成安装

安装完成后打开软件,我这里是在 Windows 上,连接 docker 中部署的 server

MinIO可视化的对象存储服务相关推荐

  1. 可视化的对象存储服务

    可视化的对象存储服务 MinIO简介 安装 MinIO Console使用 客户端使用 MinIO Client 常用命令 MinIO Client 安装及配置 MinIO Client 常用操作 兼 ...

  2. MiniO对象存储服务 磁盘缓存快速入门 ​​​​​​​

    MiniO对象存储服务 磁盘缓存快速入门 这里的磁盘缓存功能是指使用缓存磁盘来存储租户常用的一些数据.例如,假设你通过gateway azure设置访问一个对象并下载下来进行缓存,那接下来的请求都会直 ...

  3. 对象存储服务MinIO

    MinIO简介 MinIO基于Apache License v2.0开源协议的对象存储服务,可以做为云存储的解决方案用来保存海量的图片,视频,文档.由于采用Golang实现,服务端可以工作在Windo ...

  4. 轻量级对象存储服务minio安装及使用

    简介 Minio 是一个基于Apache License v2.0开源协议的对象存储服务,非常适合于存储大容量非结构化的数据,例如图片.视频.日志文件.备份数据和容器/虚拟机镜像等,而一个对象文件可以 ...

  5. Minio 搭建对象存储服务

    文章目录 1 mino简介 2 环境 3 部署 3.1 获取程序 3.2 存储类别 3.3 挂载硬盘 3.4 单机部署 3.4.1 部署及测试 3.4.2 作为Linux Service启动 3.5 ...

  6. 自己搭建个对象存储服务难不难?

    今天小编就在欢快的编码,来了一个刚毕业的小嫩青,虚心求教到 对象存储服务到底有啥用? 说起这个对象存储服务,那家伙,那场面,那可是锣鼓喧天.鞭炮齐鸣 打住,打住,其实小编对于对象存储服务的理解是,为了 ...

  7. python分布式对象存储_推荐:一款分布式的对象存储服务

    最近公司在准备内部数据上云,并且内部数据库每天的数据量很大,需要采用大数据存储的方案. 方案调研 每个程序技术在实现之前,需要进行开源产品的调研,适合自己产品的技术方案才是最好的. 需求 我们需要处理 ...

  8. 如何使用阿里云国际对象存储服务自动备份

    异地备份是一项重要的安全措施.它们允许在发生硬件故障.意外删除或任何其他灾难性事件时还原数据.自动备份可提高备份过程的可靠性,并确保定期备份最近的数据. 有关阿里云国际对象存储服务自动备份的操作,今天 ...

  9. 使用minio搭建高性能对象存储-第一部分:原型

    近期参与了一个项目,该项目有存储大量图片.短视频.音频等非结构化数据的需求.于是我优先在Go社区寻找能满足这类需求的开源项目,minio就这样进入了我的视野. 图:minio logo 其实三年前我就 ...

最新文章

  1. python语言怎么学-Py列为黑客应该学的四种编程语言之一 新手该怎么学
  2. Excel35招必学秘技
  3. 根据class名 赋值_匿名内部类 类名规则
  4. GT-----FAQ整理
  5. android功耗iphone,是心目中的安卓小屏旗舰吗?iPhone 8尺寸大小,4000mAh电池容量...
  6. C++string容器-字符串拼接
  7. python语言语句块标记是_Python的基本语法——语句块
  8. java连接unix_Java 使用 UnixSocket 调用 Docker API
  9. web和python前景_我想了解一下pythonweb和javaweb比较详细的学习成本和应用前景,谢谢!?...
  10. stl之deque双端队列容器
  11. 使用deque模块固定队列长度,用headq模块来查找最大或最小的N个元素以及实现一个优先级排序的队列...
  12. 【ICCV2019论文阅读】PU-GAN:点云上采样对抗网络
  13. Windows下桌面便签小工具--StickyPad简单使用教程(非StickyNotes)
  14. HTTP Digest Authentication 使用心得
  15. ${} 与 #{} 区别
  16. 最佳情侣身高差 (10 分)
  17. 体重指数计算器(中文版)
  18. 破解卡巴斯基操作系统安装限制...
  19. MATLAB实现FFT及信号的谱分析
  20. 哪些人更适合学Java?看看就知道了

热门文章

  1. flv.js优化直播时延
  2. linux内核实验一:一个简单的时间片轮转多道程序内核代码
  3. 严禁使用计算机存储,处理,传输涉密信息,非涉密办公内网不能视作涉密信息系统存储、处理、传输涉密信息 - 作业在线问答...
  4. 分公司成立流程、准备的材料
  5. 颜色模型与颜色应用---RGB颜色模型
  6. MacBook 外接鼠标键盘时指针乱窜、不受控制的解决方法
  7. 未来三年的移动互联网创业--汪华在移动开发者大会上的演讲
  8. NBT封面:水稻NRT1.1B基因调控根系微生物组参与氮利用(作者解读, 端午水稻专题)...
  9. 【LOG10】函数使用技巧
  10. Linguistically Regularized LSTM for Sentiment Classification 论文原文、代码实现以及翻译