Docker安装MinIO,搭建私有云存储
Docker安装MinIO,搭建私有云存储
·
以下操作是在已经安装Docker的服务器中进行
1、查找镜像
docker search minio
2、下载镜像
docker pull minio/minio
3、查看已下载镜像
pull images
4、创建挂在目录
一个用来存放配置,一个用来存储上传文件的目录
启动前需要先创建Minio外部挂载的配置文件( /docker-software/minio/config),和存储上传文件的目录( /docker-software/minio/data)
mkdir -p /docker-software/minio/{data,config}
5、创建Minio容器并运行
docker run -p 9000:9000 -p 9090:9090 --name minio -d -e MINIO_ACCESS_KEY=minio -e MINIO_SECRET_KEY=admin123456 -v /docker-software/minio/data:/data -v /docker-software/minio/config:/root/.minio minio/minio server /data --console-address ":9090" --address ":9000"
9090端口指的是minio的客户端端口(浏览器访问使用该端口)
9000端口是minio的服务端端口(程序代码使用该端口)
MINIO_ACCESS_KEY :账号
MINIO_SECRET_KEY :密码(账号长度必须大于等于5,密码长度必须大于等于8位)
–console-address 指定客户端端口
6、查看minio是否正常启动
docker ps
7、访问操作
访问:ip:9090 用户名:minio 密码 :admin123456
8、手动创建用户
9、创建组
填写组名称及可选择已有用户
10、创建accessKey和secretKey
自己定义相关accessKey和secretKey
点击下载
文件内容如下,保存文件,SDK操作文件的API需要用到
{"console":[{"access_key":"sdWEDdffsfsd","secret_key":"1234dfsfsdfedsfsd"}]}
11、创建Bucket
12、SDK操作
官方文档:https://docs.min.io/docs/
javaSDK:https://docs.min.io/docs/java-client-quickstart-guide.html
13、maven依赖及简单测试程序
由于minio自带的okhttp版本过低,会报错。故单独引用okhttp依赖
#低版本的okhttp会报错提示
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.9.0</version>
</dependency>
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.5.2</version>
<exclusions>
<exclusion>
<artifactId>okhttp</artifactId>
<groupId>com.squareup.okhttp3</groupId>
</exclusion>
</exclusions>
</dependency>
测试文件上传
import io.minio.BucketExistsArgs;
import io.minio.MakeBucketArgs;
import io.minio.MinioClient;
import io.minio.UploadObjectArgs;
import io.minio.errors.MinioException;
import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
public class FileUploader {
public static void main(String[] args) throws IOException, NoSuchAlgorithmException, InvalidKeyException {
try {
// Create a minioClient with the MinIO server playground, its access key and secret key.
MinioClient minioClient =
MinioClient.builder()
.endpoint("ip:9090")
.credentials("sdWEDdffsfsd", "1234dfsfsdfedsfsd")
.build();
// Make 'asiatrip' bucket if not exist.
boolean found = minioClient.bucketExists(BucketExistsArgs.builder().bucket("dev").build());
if (!found) {
// Make a new bucket called 'asiatrip'.
minioClient.makeBucket(MakeBucketArgs.builder().bucket("dev").build());
} else {
System.out.println("Bucket 'public' already exists.");
}
// Upload '/home/user/Photos/asiaphotos.zip' as object name 'asiaphotos-2015.zip' to bucket
// 'asiatrip'.
minioClient.uploadObject(
UploadObjectArgs.builder()
.bucket("dev")
.object("文件名称")
.filename("文件上传路径")
.build());
} catch (MinioException e) {
System.out.println("Error occurred: " + e);
System.out.println("HTTP trace: " + e.httpTrace());
}
}
}
至此,Docker搭建Minio服务器和简单操作完成!!!
更多推荐
已为社区贡献1条内容
所有评论(0)