MioIO官网:https://min.io/
一、Docker部署
1. 拉取镜像
docker pull minio/minio
2. 创建本地目录
mkdir -p /Users/a11236/Tools/minio/data
mkdir -p /Users/a11236/Tools/minio/config
3. 创建容器并运行
docker run -d \
-p 9000:9000 \
-p 9001:9001 \
--name minio \
--restart=always \
--privileged=true \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=admin123456" \
-v /Users/a11236/Tools/minio/data:/data \
-v /Users/a11236/Tools/minio/config:/root/.minio \
minio/minio \
server /data \
--console-address ":9001" -address ":9000"
说明:
docker run: 运行一个新的容器。
-d: 在后台运行容器。
-p 9000:9000 -p 9001:9001: 将容器的端口9000和9001映射到主机的9000和9001端口,这样可以通过主机的这两个端口来访问MinIO服务和MinIO Web界面。
--name=minio: 为容器指定一个名称为"minio",方便后续操作时使用。
--restart=always: 设置容器在启动后总是自动重启,以确保MinIO服务始终可用。
--privileged=true: 启用特权模式,允许容器内部的进程拥有访问主机内核的权限。
-e "MINIO_ROOT_USER=admin" -e "MINIO_ROOT_PASSWORD=admin123456": 设置MinIO的根用户的用户名和密码。在这里,用户名为"admin",密码为"admin123456"。
-v /Users/a11236/Tools/minio/data:/data -v /Users/a11236/Tools/minio/config:/root/.minio: 将主机上的两个目录挂载到容器内部。/xx/data用于存储MinIO的数据,/xx/config用于存储MinIO的配置信息。
minio/minio: 指定要使用的MinIO镜像。
server /data: 指定MinIO的数据存储路径为/data。
--console-address ":9001" --address ":9000": 设置MinIO的控制台地址为":9001",即可以通过主机的9001端口访问MinIO的Web控制台;同时设置MinIO的服务地址为":9000",即MinIO服务将在主机的9000端口监听。
4. 登录minio控制台
5. 创建Bucket存储桶
创建存储桶test。
修改访问权限。
6. 上传文件
7. 访问测试
二、SpringBoot整合
1. 创建Access Key
2. maven依赖
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>7.1.0</version>
</dependency>
3. 上传测试
try {
MinioClient minioClient = MinioClient.builder()
.endpoint("http://127.0.0.1:9000")
.credentials("w2wMctUSXl9FHIrtXnmd", "xYMzprRXu7OjyRxH5MvnKqsjjDoEC5E8cvw0hv1u")
.build();
minioClient.uploadObject(
UploadObjectArgs.builder()
.bucket("test")
.object("test.jpg")
.filename("/Users/a11236/test.jpg")
.build());
} catch (Exception e) {
e.printStackTrace();
}