Minio官网地址:http://docs.minio.org.cn/docs/master/minio-monitoring-guide
拉取镜像搜索镜像
docker search minio
拉取镜像
docker pull minio/minio运行镜像
在本地好两个文件例如:
/home/admin/minio/data
/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的接口
运行好之后可以查看日志得到
浏览器输入localhost:9090
用户名和密码就只上面指定的-e "MINIO_ROOT_USER=admin" -e "MINIO_ROOT_PASSWORD=admin123"
io.minio
minio
7.0.2
配置minio地址信息
minio: url: http://localhost:9000 access_key: admin secretKey: admin123
配置类
@Component
@ConfigurationProperties(prefix = "minio")
@Data
public class MinioClientConfig {
private String url;
private String accessKey;
private String secretKey;
}
将minio注入到Spring容器中
@Autowired
private MinioClientConfig minioClientConfig;
@Bean
public MinioClient minioClient() throws InvalidPortException, InvalidEndpointException {
return new MinioClient(minioClientConfig.getUrl(),minioClientConfig.getAccessKey(),minioClientConfig.getSecretKey());
}
minio工具类
@Component
public class MinioUtils {
@Autowired
private MinioClient client;
public void fileUpload(InputStream is,String bucketName,String fileName){
try{
if (is != null) {
//判断桶在不在
if (!client.bucketExists(bucketName)) {
//创建桶
client.makeBucket(bucketName);
}
client.putObject(bucketName, fileName, is, new PutObjectOptions(is.available(), -1));
}
}catch (Exception e){
e.printStackTrace();
}finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public void fileDownload(HttpServletResponse response, String bucketName, String fileName){
try {
ServletOutputStream outputStream = response.getOutputStream();
InputStream is = client.getObject(bucketName, fileName);
int line = 0;
byte[] bytes = new byte[1024];
while((line=is.read(bytes)) != -1){
outputStream.write(bytes,0,line);
}
// response.setHeader("content-Type", "text/html;charset=utf-8");
response.setHeader("content-disposition","attachment;fileName="+fileName);
is.close();
outputStream.flush();
outputStream.close();
}catch (Exception e){
e.printStackTrace();
}
}
}
上传好的文件就可以再桶中查看



