当前位置: 首页 > news >正文

存储引用服务(OSS)Minio 环境搭建

  1. 下载Docker desktop

  2. 最好进行相关的设置,比如说进行登陆docker账号等等

    推荐使用 docker-engine源【目前还能使用下载】

    https://ccr.ccs.tencentyun.com

  3. 使用docker拉取对应的minio镜像

    netstat -aon|findstr "8081"

       注意:dockerhub有时访问比较奇怪,有时可以拉取,有时候则不行。 所以可能需要VPN

  4. https://ikuuu.pw/auth/login, 这个是加速器,必要的时候可能会需要使用到。

    因为我已经在早些的时候就已经拉取过一次了,所以有如下的显示。

  1. 进行容器的搭建

      3.1 单容器进行部署

      在命令行中(cmd),我们对我们的即将成为容器的镜像进行如下的配置

    docker run -d -p 9000:9000 -p 9090:9090 --name minio 
    -e "MINIO_ACCESS_KEY=lucas"-e "MINIO_SECRET_KEY=12345678" 
    -v E:\minioMount\data:/data 
    -v E:\minioMount\config:/root/.minio 
    -d minio/minio server /data 
    --console-address ":9090" -address ":9000"

       发现问题:

    1. console-addressip地址要设置为9090,这个是服务器的控制台地址,而我们的address(我看做为发送请求的地址,所以我们需要用这个端口号来发送请求)

    2. 还有就是要注意格式,在启动容器之前不然就会看到很常见的 docker: invalid reference format. 要保证到都有空格区分

  2. 命名

    描述

    -d

    表示这个容器将会在后台进行运行

    p 9000:9000 -p 9090:9090

    这是端口映射,前一个是服务器的端口,后一个是客户端也就是api接口访问的端口地址

    –name minio

    这是给新创建的容器命名的选项,名字是 “minio”

    -e “MINIO_ACCESS_KEY=lucas

    用户名

    -e “MINIO_SECRET_KEY=12345678”

    密码

    -v E:\minioMount\data:/data

    这意味着将宿主机上的 对应 目录挂载到容器内的 /data 目录,高亮处不要留有空格

    -v E:\minioMount\config:/root/.minio

    这意味着将宿主机上的 对应 目录挂载到容器内的 /root/.minio 目录,高亮处不要留有空格

    -d minio/minio server /data

    这是容器内要运行的命令,启动一个名为 “minio” 的服务器,数据存储在 /data 目录下

    --console-address ":9090" -address ":9000"

    服务器的控制台地址为 “:9090”,服务地址为 “:9000”

    3.2 多容器同时进行部署

    先查看docker compose的版本

编辑对应的yaml部署信息文件,实际实践当中发现:关于版本的选择,好像没有特别的要求说明

version: 3.1.1
services:minio6:image: minio/miniovolumes:- E:\minioMount\data:/data- E:\minioMount\config:/root/.minioports:- "9006:9006"- "9096:9096"environment:- MINIO_ACCESS_KEY=lucas- MINIO_SECRET_KEY=12345678command: server /data -address ":9006" --console-address ":9096"minio7:image: minio/miniovolumes:- E:\minioMount\data:/data- E:\minioMount\config:/root/.minioports:- "9007:9007"- "9097:9097"environment:- MINIO_ACCESS_KEY=lucas- MINIO_SECRET_KEY=12345678command: server /data -address ":9007" --console-address ":9097"minio8:image: minio/miniovolumes:- E:\minioMount\data:/data- E:\minioMount\config:/root/.minioports:- "9008:9008"- "9098:9098"environment:- MINIO_ACCESS_KEY=lucas- MINIO_SECRET_KEY=12345678command: server /data -address ":9008" --console-address ":9098"minio9:image: minio/miniovolumes:- E:\minioMount\data:/data- E:\minioMount\config:/root/.minioports:- "9009:9009"- "9099:9099"environment:- MINIO_ACCESS_KEY=lucas- MINIO_SECRET_KEY=12345678command: server /data -address ":9009" --console-address ":9099"
  1. 在cmd黑窗口中输入如下的命令,-p:表示为这个容器集合取一个名字 up:表示创建多个容器
  2. docker-compose -p xf_dockers up -d

    执行过程

  3. 🆗,当我们再次回到docker desktop 的时候就会发现,集群已经成功的启动了,而上面的2-5的容器,是我单独使用docker run【见上面配置】的命令依次配置

  4. 登录测试:

  5. 再次邂逅 docker desktop

  6. 在镜像中已经显现到我们的minio镜像被使用了

    而对应的容器也在对应的端口进行了启动。

    我们可以在logs,日志中,找到客服端访问的路径,并成功的登陆和启动,ps:如果你有在局域网的设备的话,也可以进行访问(一般来说是莫得问题的,不管是使用宿主机还是虚拟机推荐先把防火墙进行关闭,不然会出现各种问题,如请求超时或者拒绝访问等的问题)

  7. 至此,minion服务启动成功!

  8. 百废待兴--开创家业

      5.1 创建用户
  9. 如下页面所示,选择需要的策略【这里默认全选上】,注意这里的用户名不能和上面设置的登陆到客户端的用户名一致!!!

    成功创建后如下显示!

    5.2 创建组群

    下面我们演示,如何进行组群的创建

    下图中,我们可以根据自己的需要,为组群设置一个名字,此外我们还可以设置组群的管理用户。

    创建成功后,我们还可以通过画笔小图标进行修改【添加后续新进入的成员】

  10. 设置秘钥

  11. 直接点击下载

    5.4 创建bucket

    我们需要注意,在为自己的bucket进行命名的时候,要注意满足以下要求的格式

    bucket创建成功!!!

  12. 最佳实践

  13. 6.1 UI方式上传文件

    操作如下:都是点点点,没有什么好说的

    上传成功后,效果展示如下

  14. 编码方式上传文件

  15. 导入相关依赖

            #低版本的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.4.2</version><exclusions><exclusion><artifactId>okhttp</artifactId><groupId>com.squareup.okhttp3</groupId></exclusion></exclusions></dependency>

    测试用例 注意修改对应的文件和相关的地址【代码仅供参考,不宜直接CV】

  16. 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("http://192.168.1.110:9000").credentials("XO1JDovW2FTmGaBb", "uG6wMfylUnOVH5WzwxqnldOWw2dMshNX").build();// Make 'asiatrip' bucket if not exist.boolean found = minioClient.bucketExists(BucketExistsArgs.builder().bucket("public").build());if (!found) {// Make a new bucket called 'asiatrip'.minioClient.makeBucket(MakeBucketArgs.builder().bucket("public").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("public").object("credentials.json").filename("C:/Users/lai.huanxiong/Downloads/credentials.json").build());System.out.println("'C:/Users/lai.huanxiong/Downloads/credentials.json' is successfully uploaded as " + "object 'credentials.json' to bucket 'public'.");} catch (MinioException e) {System.out.println("Error occurred: " + e);System.out.println("HTTP trace: " + e.httpTrace());}}
    }
    

    文件上传成功!


http://www.mrgr.cn/news/60642.html

相关文章:

  • 超流畅的精简版Win10系统:仅占4GB,流畅稳定
  • 单电源差分放大电路之一
  • 如何进行Appium实现移动端UI自动化测试
  • Python 实现日期计算与日历格式化输出(万年历)
  • C语言小游戏3——扫雷
  • Junit + Mockito保姆级集成测试实践
  • 审阅员工聊天行为|企业该怎么审阅员工的聊天行为?5个方法分享(实用+收藏)
  • 当代年轻人的“发疯文学”也能涨粉变现!报价¥2w+的笔记,你也能做!
  • 长思维PRM
  • 浅析Android View绘制过程中的Surface
  • 时间序列预测(十五)——有关Python项目框架的实例分析
  • 双十一买什么数码好物比较好?五大闭眼入的数码好物别错过!
  • 浅析Android中View的软件绘制流程
  • 【C++】How the C++ Compiler Works
  • Shiro 会话管理和加密
  • 溪源飨提高免疫力治未病:硒+辅酶Q10强力组合
  • numpy——数学运算
  • C++ vector
  • 西门子S7-200 SMART 多泵轮换功能库案例下载
  • 超子物联网HAL库笔记:准备篇
  • TypeScript 接口知识点详解
  • 多态的体现
  • 三维测量与建模笔记 - 2.1 坐标转换基础
  • redis学习路线和内容
  • 亿赛通与Ping32:数据安全领域的两大巨擘对比
  • 二十四、Python基础语法(变量进阶)