场景
单纯的学习一下minio。
部署
1:获取镜像。
执行以下命令:
docker pull minio/minio
2:构建容器。
按顺序执行以下3个命令:
mkdir -p /home/admin/minio/data
mkdir -p /home/admin/mino/config
docker run --name minio -p 9000:9000 -p 9090:9090 -d --restart=always -e "MINIO_ROOT_USER=admin" -e "MINIO_ROOT_PASSWORD=admin123" -v /home/admin/minio/data:/data -v /home/admin/minio/config:/root/.minio minio/minio server /data --console-address ":9090" --address ":9000"
说明:
–console-address 是固定控制台的端口 --address指定 API的接口
3:打开浏览器 进入管理登录界面
localhost:9090
账号密码是命令中设置的admin/admin123。
进入这里说明部署OK了。
下面是minio整合spring
1:导入的包
import io.minio.BucketExistsArgs;
import io.minio.MakeBucketArgs;
import io.minio.MinioClient;
import io.minio.UploadObjectArgs;
2:测试代码(这里只做上传)
public static void main(String[] args) {
//1、获取客户端
MinioClient minioClient =
MinioClient.builder()
//服务所在地址
.endpoint("服务器ip:9000")
//用户名和密码
.credentials("admin", "admin123")
.build();
//初始化判断参数
boolean found = false;
try {
//判断bucket是否存在,不存在则创建
found = minioClient.bucketExists(BucketExistsArgs.builder().bucket("test").build());
if (!found) {
//创建桶的代码
minioClient.makeBucket(MakeBucketArgs.builder().bucket("test").build());
}
minioClient.uploadObject(
//上传代码
UploadObjectArgs.builder()
//bucket名
.bucket("test")
//上传后的文件名
.object("1.jpg")
//这里要上传的文件本地地址,注意是文件本地地址
.filename("本地的图片.jpg")
.build());
System.out.println("文件上传成功");
} catch (Exception e) {
e.printStackTrace();
}
}
总结
上传成功后,能看到界面上多了一个test的Buckets,test下面有个1.jpg的图片。如有其他更好的方法或者想法,可以留言或联系分享,大家互相学习进步。