背景简介
MinIO 是一个基于 Go 实现的轻量高性能、兼容 S3 协议的对象存储。它采用 GNU AGPL v3 开源协议,项目地址是 https://github.com/minio/minio,官网是 https://min.io。下载地址 https://min.io/download
它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据。 例如图片、音频、视频、日志文件等常见文件,备份数据、容器、虚拟机镜像等等,而一个对象文件可以是任意大小,从几 kb 到最大 5T 不等
国内阿里巴巴、腾讯、百度、华为、中国移动、中国联通等企业在使用 MinIO,甚至不少商业公司二次开发 MinIO 来提供商业化的云存储产品。
Docker 安装
挂载目录
mkdir -p /opt/docker/minio/{data,conf}
文件授权
# 很重,为我们的挂载目录赋予权限。以后不论做什么镜像,凡是挂载目录切记要为目录赋予权限;否则,运行镜像后会发现statu状态为exited
chmod -R 777 /opt/docker/minio/{data,conf}
启动容器
docker run -p 9000:9000 -p 9001:9001 \
--name minio \
-d --restart=always \
-e "MINIO_ACCESS_KEY=minioButool" \
-e "MINIO_SECRET_KEY=minioButool" \
-e "MINIO_ROOT_USER=tigerMinio" \
-e "MINIO_ROOT_PASSWORD=tigerMinio" \
-v /opt/docker/minio/data:/mydata/minio/data \
minio/minio server \
/data --console-address ":9001" -address ":9000"
参数解释
9001 端口指的是 minio 的客户端端口。虽然设置 9001,但是我们在访问 9000 的时候,他也会自动跳到 9001。
9000 端口是 minio 的服务端端口,我们程序在连接 minio 的时候,就是通过这个端口来连接的。
# 服务端账号密码
MINIO_ACCESS_KEY 服务端账号
MINIO_SECRET_KEY 密码 (账号长度必须大于等于5,密码长度必须大于等于8位,不然容器会启动不成功)
# 管理平台账号密码
MINIO_ROOT_USER 管理平台账号
MINIO_ROOT_PASSWORD 密码
--console-address 指定客户端端口
访问
http://ip:9001
Windows
## 国外资源,龟速下载
Invoke-WebRequest -Uri "https://dl.min.io/server/minio/release/windows-amd64/minio.exe" -OutFile "C:\minio.exe"
setx MINIO_ROOT_USER admin
setx MINIO_ROOT_PASSWORD password
## F:\Data 存储目录;--console-address 是 UI 界面的端口
C:\minio.exe server F:\Data --console-address ":9001"
Linux
## 国外资源,龟速下载
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
## /Users/yunai/minio 存储目录;--console-address 是 UI 界面的端口
MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=password ./minio server /Users/yunai/minio --console-address ":9001"