另辟文件储存——Minio

548 阅读3分钟

minio 官网

  • 链接 minio.org.cn/
  • 介绍 Minio 是一个基于Apache License v2.0开源协议的对象存储服务,虽然轻量,却拥有着不错的性能。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据。 例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几 kb 到最大 5T 不等。

image.png

部署 minio

我们采用更加方便快捷的Docker部署 minio。Tip:如果没有学习过Docker 可以看我的另外一篇文章 步入Docker - 掘金 (juejin.cn)

下载Docker

寻找Docker 的minio镜像

链接

image.png

下载Docker 的minion镜像

这里我就选择安装最新版就行了

docker pull minio/minio

下载完成之后,查看下载的镜像

docker images

创建目录

一个用来存放配置,一个用来存储上传文件的目录 启动前需要先创建Minio外部挂载的配置文件( /home/minio/config),和存储上传文件的目录( /home/minio/data)

mkdir -p /home/minio/config
mkdir -p /home/minio/data

运行minio镜像

  • 多行模式
docker run -p 9000:9000 -p 9090:9090 \
     --net=host \
     --name minio \
     -d --restart=always \
     -e "MINIO_ACCESS_KEY=minioadmin" \
     -e "MINIO_SECRET_KEY=minioadmin" \
     -v /home/minio/data:/data \
     -v /home/minio/config:/root/.minio \
     minio/minio server \
     /data --console-address ":9090" -address ":9000"
  • 单行模式
docker run -p 9000:9000 -p 9090:9090      --net=host      --name minio      -d --restart=always      -e "MINIO_ACCESS_KEY=minioadmin"      -e "MINIO_SECRET_KEY=minioadmin"      -v /home/minio/data:/data      -v /home/minio/config:/root/.minio      minio/minio server      /data --console-address ":9090" -address ":9000

`

  • 解析参数
  1. -p 9000:9000 -p 9090:9090: 将主机的端口9000映射到容器的端口9000,将主机的端口9090映射到容器的端口9090。这允许通过主机的9000端口访问Minio对象存储服务,以及通过主机的9090端口访问Minio管理控制台。
  2. --net=host: 使用宿主机的网络命名空间,这将使得容器中的网络与主机的网络共享。
  3. --name minio: 指定容器的名称为"minio"。
  4. -d --restart=always: 以分离模式运行容器,并在Docker守护进程启动时自动重启容器。
  5. -e "MINIO_ACCESS_KEY=minioadmin" -e "MINIO_SECRET_KEY=minioadmin": 设置环境变量MINIO_ACCESS_KEY为"minioadmin",设置环境变量MINIO_SECRET_KEY为"minioadmin"。这是Minio访问控制的凭证,可以根据需要进行更改。
  6. -v /home/minio/data:/data -v /home/minio/config:/root/.minio: 将主机上的目录/home/minio/data挂载到容器中的/data目录,将主机上的目录/home/minio/config挂载到容器中的/root/.minio目录。这样做是为了持久化存储Minio的数据和配置信息。
  7. minio/minio server: 指定要运行的Minio镜像。
  8. /data --console-address ":9090" -address ":9000": 设置Minio服务器的数据目录为/data,设置控制台地址为":9090",设置服务器地址为":9000"。

综上所述,该代码会在Docker中创建一个名为"minio"的容器,该容器运行Minio对象存储服务,同时提供管理控制台。容器将主机的端口9000映射到容器内部的9000端口,允许通过该端口访问Minio服务;并将主机的端口9090映射到容器内部的9090端口,允许通过该端口访问Minio管理控制台。容器还将存储数据和配置信息的目录挂载到主机上,以保证数据的持久化存储。

查看运行是否成功

使用命令docker ps

访问minio

image.png 默认为我们刚刚设置的密码

  • 首页

image.png

  • 我们点击左侧的Buckets , 然后点击新建 ,输入name , 完成创建

image.png

  • 重新点击刚刚的桶,修改策略

image.png

  • 创建 access key (后期的 API 调用会用到)

image.png