1.docker安装minio
(1)运行下面命令,没加版本号的默认安装最新版minio,如果无法安装可能是docker版本问题,重新安装最新版docker
docker pull minio/minio
(2)输入下面命令,注意MINIO_ACCESS_KEY以及MINIO_SECRETY_KEY这两个值,在后面登陆minio的时候需要用到,这两个是自己自定义的,还需要注意9001是我们的端口号
docker run -p 9000:9000 -p 9001:9001 \
--name minio \
-d --restart=always \
-e "MINIO_ACCESS_KEY=minio" \
-e "MINIO_SECRET_KEY=minio111" \
-v /mydata/minio/data:/data \
minio/minio server \
/data --console-address ":9001" -address ":9001"
(3)minio安装启动好后输入docker ps查看
docker ps
出现上述截图信息,表示minio安装部署成功,然后登陆minio
输入你的虚拟机ip:9001登陆
登陆进去后如下页面
2.文件上传
本文以b站黑马头条为例,上传list.html文件到minio中,首先需要在minio中创建一个BUCKET,自定义命名为fileload
此时出现如下页面即可
3.代码编写
需要注意:credentials以及endpoint不要写错,bucket名称需要与我们之前minio网页中创建的一致
package com.mzz.minio.test;
import com.heima.file.service.FileStorageService;
import io.minio.MinioClient;
import io.minio.PutObjectArgs;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
public class MinIOTest {
public static void main(String[] args) {
FileInputStream fileInputStream = null;
try {
fileInputStream = new FileInputStream("D:\\list.html");;
//1.创建minio链接客户端
MinioClient minioClient = MinioClient.builder().credentials("minio", "minio111").endpoint("http://192.168.233.131:9000").build();
//2.上传
PutObjectArgs putObjectArgs = PutObjectArgs.builder()
.object("list.html")//文件名
.contentType("text/html")//文件类型
.bucket("fileload")//桶名词 与minio创建的名词一致
.stream(fileInputStream, fileInputStream.available(), -1) //文件流
.build();
minioClient.putObject(putObjectArgs);
System.out.println("http://192.168.233.131:9001/leadnews/list.html");
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
执行代码:
执行成功后去minio中查看
可以看到,内容正常,文件上传成功,其他文件上传同理