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

上次跟大家分享了如何用思源笔记来搭配思源的图床来实现快速发文,但是还要每月持续订阅,那么对于家里有Nas的用户,有没有办法不付费或者一次付费始终使用呢?有,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可以用来做图床,也可以用来作为思源笔记的同步使用。非常好用,欢迎你也来试一试。
双十一到了,打算买Nas的也可以看起来了啊。这两年国产Nas也开始崛起了,大家都可以看看!
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

疯爆银熊
校验提示文案
ibreakstar
校验提示文案
值友8923201881
校验提示文案
dusttop1
校验提示文案
巴伐利亚南大王
校验提示文案
木籽向前冲
校验提示文案
没事找事啊
校验提示文案
浮生不得闲
校验提示文案
值友4968837601
我习惯了无脑抄作业,结果总是失败,还以为docker的网络设置什么的 有问题。结果发现是这个
校验提示文案
值友8923201881
校验提示文案
值友4968837601
我习惯了无脑抄作业,结果总是失败,还以为docker的网络设置什么的 有问题。结果发现是这个
校验提示文案
浮生不得闲
校验提示文案
没事找事啊
校验提示文案
疯爆银熊
校验提示文案
木籽向前冲
校验提示文案
巴伐利亚南大王
校验提示文案
dusttop1
校验提示文案
ibreakstar
校验提示文案