部署 minio
-
拉取镜像
docker pull minio/minio docker images
-
新建映射目录
新建下面图片里的俩个目录 data(存放对象-实际的数据) config 存放配置
-
开放对应端口
我使用的是腾讯服务器所以 在腾讯的安全页面开启 9000,9090 两个端口就可以了(根据大家实际的情况进行开放端口号)
-
启动镜像
docker run -p 9000:9000 -p 9090:9090 --name minio \ -d --restart=always \ -e MINIO_ACCESS_KEY=minio \ -e MINIO_SECRET_KEY=minio@123 \ -v /home/nas/minio/data:/data \ -v /home/nas/minio/config:/root/.minio \ minio/minio server /data --console-address ":9000" --address ":9090"
-
测试minio是否搭建成功
-
访问管理页面
账号密码
minio
minio@123
http://ip:9000/
-
上传图片
-
访问图片
-
引入JavaSDK 测试 上传和下载
-
在程序里使用需要先创建密钥,和对用的桶
-
pom
<dependency> <groupId>io.minio</groupId> <artifactId>minio</artifactId> <version>8.5.7</version> </dependency>
-
测试程序-上传
minioClient = MinioClient.builder().endpoint(Url).credentials(AccessKey,SecretKey).build(); // Make 'asiatrip' bucket if not exist. boolean found = minioClient.bucketExists(BucketExistsArgs.builder().bucket(Bucket).build()); if (!found) { // Make a new bucket called 'asiatrip'. //minioClient.makeBucket(MakeBucketArgs.builder().bucket("asiatrip").build()); System.out.println("不存在!!!"); } else { System.out.println("Bucket already exists."); } // Upload '/home/user/Photos/asiaphotos.zip' as object name 'asiaphotos-2015.zip' to bucket // 'asiatrip'. minioClient.uploadObject( UploadObjectArgs.builder() .bucket(Bucket) .object("笔记.zip") .filename("/Users/woods/candaoCodes/woodsTest/src/main/resources/笔记.zip") .build());
-
测试程序-下载
minioClient = MinioClient.builder().endpoint(Url).credentials(AccessKey,SecretKey).build(); String presignedObjectUrl = minioClient.getPresignedObjectUrl( GetPresignedObjectUrlArgs.builder() .method(Method.GET) .bucket(Bucket) .object("笔记.zip") .expiry(10000) .build()); System.out.println(presignedObjectUrl); //下载链接