拉取镜像
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/
上传图片
访问图片
在程序里使用需要先创建密钥,和对用的桶
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); //下载链接