docker安装minio

Docker 安装 (完整详细版)

Docker 日常命令大全(完整详细版)

简介: 

Minio 是一个基于Apache License v2.0开源协议的对象存储服务,虽然轻量,却拥有着不错的性能。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据。 

例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几 kb 到最大 5T 不等。

说明:

Docker如果想安装软件 , 必须先到 Docker 镜像仓库下载镜像。

Docker官方镜像 

1、寻找Minio镜像  

  2、下载Minio镜像

命令描述
docker pull minio/minio下载最新版Minio镜像 (其实此命令就等同于 : docker pull minio/minio:latest )
docker pull minio/minio:RELEASE.2022-06-20T23-13-45Z.fips下载指定版本的Minio镜像 (xxx指具体版本号)

 检查当前所有Docker下载的镜像

docker images
  
  

 3、创建目录

一个用来存放配置,一个用来存储上传文件的目录

启动前需要先创建Minio外部挂载的配置文件( /home/minio/config),和存储上传文件的目录( /home/minio/data)


  
  
  1. mkdir -p /home /minio /config
  2. mkdir -p /home /minio / data

 4、创建Minio容器并运行

多行模式 


  
  
  1. docker run -p 9000: 9000 -p 9090: 9090 \
  2. --net =host \
  3. --name minio \
  4. -d --restart =always \
  5. -e "MINIO_ACCESS_KEY=minioadmin" \
  6. -e "MINIO_SECRET_KEY=minioadmin" \
  7. -v /home /minio / data: / data \
  8. -v /home /minio /config: /root /.minio \
  9. minio /minio server \
  10. / data --console-address ":9090" - address ":9000"

单行模式 

docker run -p 9000:9000 -p 9090:9090      --net=host      --name minio      -d --restart=always      -e "MINIO_ACCESS_KEY=minioadmin"      -e "MINIO_SECRET_KEY=minioadmin"      -v /home/minio/data:/data      -v /home/minio/config:/root/.minio      minio/minio server      /data --console-address ":9090" -address ":9000"

  
  

9090端口指的是minio的客户端端口

MINIO_ACCESS_KEY :账号

MINIO_SECRET_KEY :密码(账号长度必须大于等于5,密码长度必须大于等于8位)

 5、访问操作

访问:http://192.168.124.132:9090/login 用户名:密码  minioadmin:minioadmin

 创建用户

 

创建组

创建accessKey和secretKey 

 点击下载

 文件内容如下,保存文件,SDK操作文件的API需要用到

{"url":"http://192.168.124.132:9000","accessKey":"XO1JDovW2FTmGaBb","secretKey":"uG6wMfylUnOVH5WzwxqnldOWw2dMshNX","api":"s3v4","path":"auto"}
  
  

创建Bucket

上传文件

 

 6、SDK操作

官方文档:https://docs.min.io/docs/

 javaSDK:https://docs.min.io/docs/java-client-quickstart-guide.html

 maven依赖


  
  
  1. #低版本的okhttp会报错提示
  2. <dependency >
  3. <groupId >com.squareup.okhttp 3 < /groupId >
  4. <artifactId >okhttp < /artifactId >
  5. <version > 4.9.0 < /version >
  6. < /dependency >
  7. <dependency >
  8. <groupId >io.minio < /groupId >
  9. <artifactId >minio < /artifactId >
  10. <version > 8.4.2 < /version >
  11. <exclusions >
  12. <exclusion >
  13. <artifactId >okhttp < /artifactId >
  14. <groupId >com.squareup.okhttp 3 < /groupId >
  15. < /exclusion >
  16. < /exclusions >
  17. < /dependency >

测试文件上传 


  
  
  1. import io.minio.BucketExistsArgs;
  2. import io.minio.MakeBucketArgs;
  3. import io.minio.MinioClient;
  4. import io.minio.UploadObjectArgs;
  5. import io.minio.errors.MinioException;
  6. import java.io.IOException;
  7. import java.security.InvalidKeyException;
  8. import java.security.NoSuchAlgorithmException;
  9. public class FileUploader {
  10. public static void main (String[] args) throws IOException, NoSuchAlgorithmException, InvalidKeyException {
  11. try {
  12. // Create a minioClient with the MinIO server playground, its access key and secret key.
  13. MinioClient minioClient =
  14. MinioClient.builder()
  15. .endpoint( "http://192.168.124.132:9000")
  16. .credentials( "XO1JDovW2FTmGaBb", "uG6wMfylUnOVH5WzwxqnldOWw2dMshNX")
  17. .build();
  18. // Make 'asiatrip' bucket if not exist.
  19. boolean found = minioClient.bucketExists(BucketExistsArgs.builder().bucket( "public").build());
  20. if (!found) {
  21. // Make a new bucket called 'asiatrip'.
  22. minioClient.makeBucket(MakeBucketArgs.builder().bucket( "public").build());
  23. } else {
  24. System.out.println( "Bucket 'public' already exists.");
  25. }
  26. // Upload '/home/user/Photos/asiaphotos.zip' as object name 'asiaphotos-2015.zip' to bucket
  27. // 'asiatrip'.
  28. minioClient.uploadObject(
  29. UploadObjectArgs.builder()
  30. .bucket( "public")
  31. .object( "credentials.json")
  32. .filename( "C:/Users/lai.huanxiong/Downloads/credentials.json")
  33. .build());
  34. System.out.println( "'C:/Users/lai.huanxiong/Downloads/credentials.json' is successfully uploaded as " + "object 'credentials.json' to bucket 'public'.");
  35. } catch (MinioException e) {
  36. System.out.println( "Error occurred: " + e);
  37. System.out.println( "HTTP trace: " + e.httpTrace());
  38. }
  39. }
  40. }

 文件上传成功展示

至此,Docker搭建Minio服务器和简单操作完成!!!

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值