部署 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); //下载链接