当前位置:   article > 正文

Docker安装minio---简单三步,保姆级教程

docker安装minio
简介:

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

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

1.下载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
[第二步用来挂载配置文件的,简单使用的话,这一步可省略,避免报错,如果后续报错关于挂载文件的可以再加上] 

2.创建目录

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

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

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

 

 3.创建Minio容器并运行

单行模式:

docker run -d -p 9000:9000 -p 9090:9090 --name=minio --restart=always -e "MINIO_ROOT_USER=minio" -e "MINIO_ROOT_PASSWORD=minio123" -v /home/data:/data -v /home/config:/root/.minio  minio/minio:RELEASE.2022-09-07T22-25-02Z server /data --console-address ":9090" --address ":9000"

 多行命令:

  1. docker run -p 9000:9000 -p 9090:9090 \
  2. --net=host \
  3. --name minio \
  4. -d --restart=always \
  5. -e "MINIO_ROOT_USER=minio" \
  6. -e "MINIO_ROOT_PASSWORD=minio123" \
  7. -v /home/minio/data:/data \
  8. -v /home/minio/config:/root/.minio \
  9. minio/minio:RELEASE.2022-09-07T22-25-02Z server \
  10. /data --console-address ":9090" -address ":9000"

 有时候我们使用多行命令会运行创建容器报错,这个问题主要是  " \ "这个符号跟空格的问题,所以如果想避免出错,使用单行命令;

 直接运行容器命令即可;

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

MINIO_ACCESS_KEY :账号

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

 

4、访问操作 

访问:http://[切换ip]:9090/login 用户名:密码  minio:minio123

创建Bucket

上传文件

 

 

 java代码实现文件上传
  1. #低版本的okhttp会报错提示
  2. <dependency>
  3. <groupId>io.minio</groupId>
  4. <artifactId>minio</artifactId>
  5. <version>8.4.3</version>
  6. </dependency>
  7. <dependency>
  8. <groupId>com.squareup.okhttp3</groupId>
  9. <artifactId>okhttp</artifactId>
  10. <version>4.8.1</version>
  11. </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服务器和简单操作完成!!!

部分参考文献(图片): Docker 搭建 Minio 容器 (完整详细版)_docker minio-CSDN博客

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/713081
推荐阅读
相关标签
  

闽ICP备14008679号