其实这个小型项目很早就已经完成了,但最近才心血来潮整理一下,希望对各位小伙伴学习有所帮助,在此先声明如果介绍不对或者有更好的方法希望在评论区留言一起探讨。

开源地址:https://gitee.com/a-clumsy-little-cat/mionio.git

参考的文章:🎉 Docker 简介和安装 - Docker 快速入门 - 易文档
再此就不多介绍,有需要的可以直接浏览该作者的文档,写的非常详细。

首先先了解一下minio,MinIO 是一款基于对象存储模型的高性能、分布式开源存储系统,使用过阿里云oss的小伙伴可能会更加清楚,相比于本地存储以及读写操作,minio提供了轻量、开箱即用的特点。

它的存储的对象(object),存储在buckets的桶中,但是为了安全可以给他设置安全policies的方针测略,针对不同用户给予不同的读写操作,例如管理人员拥有所有的读写权限,而作为普通用户只要读或者上传,没有删除的权限。

//admin的策略
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:DeleteObject",
                "s3:GetBucketLocation",
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::mycat",
                "arn:aws:s3:::mycat/*"
            ]
        }
    ]
}

mycat是作者桶的名字,这里可以改成你自己创建桶的名字

//user策略
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketLocation",
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::mycat",
                "arn:aws:s3:::mycat/*"
            ]
        }
    ]
}

然后将策略分给不同人物

这样项目的前提条件就算完成了

然后在将项目直接打成jar包,使用docker命令生成镜像,在项目的根目录下执行命令。

# 构建镜像:名称为 minio-java-app,标签为 latest,JAR 包在当前目录
docker build -t minio-java-app:latest .

然后再执行docker-compose.yml

docker-compose up -d
#正在执行的容器
docker ps
#全部容器
docker ps -a

现在你就会看到他成功运行

现在就可以测试一下接口是否成功连接

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐