Docker部署minio 自建S3对象存储 威联通群晖NAS均可
minio是什么:
Minio是一款兼容Amazon S3 API的高性能的对象存储服务器。如aws的s3存储,阿里云的OSS,腾讯的COS等,都属于S3协议的存储。(也就是说,有了minio,将可以弃用各种收费的对象存储和CDN等)
NAS部署minio适用人群:
同时拥有一台特价云服务器以及带公网IP的NAS的用户。
为什么NAS部署minio:
云服务器带宽太低,空间不够,用来做穿透太鸡肋。本地NAS,7*24小时开机,空间足够,却没有端口。那我们可以将网站部署在云服务器上,但是对象存储使用本地NAS。网站访问速度将大大提高,本地NAS也存储了关键数据。 比如本博文的图就是来自的minio。
适合适用minio的网站或应用:
wordpress博客,memos笔记,思源笔记,chevereto图床,兰空图床,alist网盘,等一切支持部署s3兼容对象存储的应用。(也会出相关教程)
教程:(博主是群晖7.2)
方法一,compose,适合container manager代码如下:
version: '3'
services:
minio:
container_name: minio
image: minio/minio
ports:
- 9000:9000
- 9090:9090
volumes:
- /volume2/docker/minio:/data
environment:
- MINIO_ROOT_USER=admin
- MINIO_ROOT_PASSWORD=xxxxx
command: server /data --console-address ":9090"
方法二,计划任务,(适合7.2以下docker)
1.在Docker共享文件夹下,添加minio文件夹,确保everyone权限。
2.打开控制面板,新增--触发的任务--用户定义的脚本。
3.名称随意,例如minio,用户选择root
4.点击任务设置,脚本填入如下:
docker run \
-p 9000:9000 \
-p 9090:9090 \
--name minio \
-v /volume2/docker/minio:/data \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=xxxxx" \
minio/minio server /data --console-address ":9090"
注: volume2需改成你docker所在硬盘(查看docker共享文件夹属性里的路径)
USER和PASSWORD改成自己要给minio设置的用户名和密码。
给9000,9090进行端口映射。(无公网IP部署minio没意义)
5.点击确定,输入DMS密码再确定,然后运行该任务一次(取消勾选,因为只需运行一次)。等待一会,docker里就已经部署好了。
6.浏览器打开minio网址http://IP:9090或http://域名:9090,如下,输入之前设置的账号密码进入。
7.进入minio主页后,点击 Create a Bucket,创建存储桶。
8.给存储桶命名,例如该存储桶我给博客使用,我就输入blog. 打开quota(非必选),capacity我填入1,意思是给1T的容量限制。点击create bucket,存储桶创建完成。
9.点击左侧bucket,点击你的存储桶。
10.编辑Access Policy,选择public,点击set. (给存储桶公共权限)
11.点击左侧access keys,再点击create access key,创建密钥和密码。
12.直接点击create
13.请记住你的access key 和secret key. (比如拿记事本写上),然后叉掉弹窗即可。
14.创建地区。 点击左侧settings--点击region--在server location输入cn,点save。(意思地区是cn)
15.网页顶部会提示重启生效,点击Restart。等待小会,minio重启完成,刷新网页即可。
至此minio所有的配置已经完成。你的数据如下:
Endpoint: http://域名:9000
地区region:cn
access key:在第13步创建的
secret key:在第13步创建的
存储桶Bucket:blog(第8步创建的名字)
Url前缀:http://域名:9000/blog
部署完成后,你的minio就不需要登录了,保持docker容器开着就行。如果要给不同应用不同的存储桶,只需额外创建对应存储桶就行(第7,8步),其他数据不需要变。
需要注意的是,如果你需要部署对象存储的网站是https,需要在群晖里将9000端口进行反代,并进行端口映射。例如反代到9001,那你的endpoint就变成了https://域名:9001,同理url就变成了https://域名:9001/blog。
minio的全部数据都将储存在/docker/minio文件夹里。
你需要配置对象存储的网站,例如博客,图床。填入以上数据即可。
威联通群晖NAS
图形化部署可参考https://www.bilibili.com/read/cv22138104/
新增变量与值(值填写你的用户名、密码,密码包含大、小写,字符,数字)
MINIO_ROOT_USER
MINIO_ROOT_PASSWORD
新版本执行命令应该用 server /data --console-address ":9001" 9001为自己的端口 不添加此命令回报错