直接docker润起来
docker run \ -p 9000:9000 \ -p 9001:9001 \ --user $(id -u):$(id -g) \ --name minio1 \ -e "MINIO_ROOT_USER=ROOTUSER" \ -e "MINIO_ROOT_PASSWORD=CHANGEME123" \ -v ${HOME}/minio/data:/data \ quay.io/minio/minio server /data --console-address ":9001"
9000是上传和下载的地址,就是提供给其他服务调用的地址。
9001是minio的管理页面的地址,在上面可以管理minio:
然后就是java调用:
配置:
server: port: 8001 minio: endpoint: http://192.168.126.134:9000 #Minio地址 bucketName: backupstest #堆名 accessKey: ROOTUSER #name secretKey: CHANGEME123 #密码
config文件:
package com.example.miniodome.comfig; import io.minio.MinioClient; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Data @Configuration @ConfigurationProperties(prefix = "minio") public class MinioConfig { private String endpoint; private String accessKey; private String secretKey; private String bucketName; @Bean public MinioClient minioClient() { return MinioClient.builder().endpoint(endpoint).credentials(accessKey, secretKey).build(); } }
package com.example.miniodome.util; import com.example.miniodome.comfig.MinioConfig; import io.micrometer.common.util.StringUtils; import io.minio.*; import io.minio.http.Method; import io.minio.messages.Bucket; import io.minio.messages.Item; import jakarta.annotation.Resource; import jakarta.servlet.ServletOutputStream; import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.util.FastByteArrayOutputStream; import org.springframework.web.multipart.MultipartFile; import java.time.LocalDate; import java.util.ArrayList; import java.util.List; import java.util.UUID; @Component @Slf4j public class MinioUtil { @Autowired private MinioConfig prop; @Resource private MinioClient minioClient; /** * 查看存储bucket是否存在 * * @return boolean */ public Boolean bucketExists(String buck