分享免费的编程资源和教程

网站首页 > 技术教程 正文

一个docker容器搞定存储与图床——minio

goqiw 2024-10-06 08:19:32 技术教程 43 ℃ 0 评论

上次跟大家分享了如何用思源笔记来搭配思源的图床来实现快速发文,但是还要每月持续订阅,有没有办法不付费或者一次付费始终使用呢?有,minio。

什么是minio

MinIO 提供高性能、与S3 兼容的对象存储系统,让你自己能够构建自己的私有云储存服务。
MinIO原生支持 Kubernetes,它可用于每个独立的公共云、每个 Kubernetes 发行版、私有云和边缘的对象存储套件。
MinIO是软件定义的,不需要购买其他任何硬件,在 GNU AGPL v3 下是 100% 开源的。

作为与S3兼容的对象存储系统,minio在很多场合,能拥有比webdav、ftp更好的体验。

docker部署minio

docker 部署minio其实坑还挺多的,请跟我一步一步来。
第一步,拉取映像,minio/minio。
第二步,新建minio文件夹,在下面建data与config两个文件夹。
第三部,运行,这一步坑比较多,有以下几个注意点。
1.设置环境变量中登录名与密码。
分别是MINIO_ROOT_USER和MINIO_ROOT_PASSWORD。需要注意的是,密码位数太低(低于8位)会造成无法打开容器,密码过于复杂,比如我用bitwarden生成的16位含特殊字符的密码,会导致无法登录。建议设置8-10位数字字母混合密码。

2.端口分离
虽然有看到网上教程用不是minio/minio的镜像制作,直接输入两个端口的,但是我试了试,并不成功,反复查询后,发现应该是这个叫做端口分离的步骤,直接在官方镜像上做就可以。
具体做法就是除了原始端口外,再多映射一个端口,比如说9011,然后在执行命令中,输入

server /data --console-address :9011 -address :9000

当然,更简单的办法是直接使用命令行启动,那就是

docker run -p 9000:9000 -p 9011:9011 --name minio -d --restart=always -e "MINIO_ROOT_USER=minioadmin" -e "MINIO_ROOT_PASSWORD=minioadmin" -v /home/minio/data:/data -v /home/minio/config:/root/.minio minio/minio server /data --console-address ":9000" -address "9011"

很长,大家根据自己需要进行修改。

设置

在IP:9011就可以使用你设置的用户名密码登陆了。然后进入设置。

设置Region

在Setting中设置Region,想设啥都可以,我设置了个cn

设置用户与组

在Identity中先选择User,Create User,自己设置用户名、密码。Policies全选。

然后在Group中新建一个Group,把刚刚新建的用户在Members中新增过来
这一步有些教程没有,但是我之前没做的时候同步有问题,建议各位还是做一下。

新建Bucket

在右侧选择Buckets,然后选择Create Bucket新建Bucket。

然后又点到新建的bucket里去,在access policy那里点一下,修改成pubilic。

创建AccessKeys

在Access Keys里新建Access Key。

如果想要一个AccessKey对应一个Bucket的,可以在这里勾选Restrct beyond user policy后,在下面Current User Policy中心性修改。

"Resource": \[
	"arn:aws:s3:::/指定bucket名称/\*"
\]

完成后需要重启容器!完成后需要重启容器!完成后需要重启容器!
至此minio就部署好了,minio可以用来做图床,也可以用来作为思源笔记的同步使用。非常好用,欢迎你也来试一试。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表