当前位置:   article > 正文

Minio最新版2023-02-27T18-10-45Z的使用配置踩坑记录 及 客户端client MC 的安装使用_minio 2022版和 minio 2023版本-大差异

minio 2022版和 minio 2023版本-大差异

一、Minio最新版2023-02-27T18-10-45Z的踩坑记录及下载策略配置

    minio的最新版2023-02-27T18-10-45Z有些较大的变化,老版本的minio只需要一个端口9000即可。可以另外指定自带的管理后台的地址,但也可以使用默认的9000。

    但新版的minio将minio console管理后台融入了进来。必须另外指定一个不同的端口,不然会报错:

    ERROR Unable to start the server: --console-address cannot be same as --address

    MinIO Console是一个Minio的图形化界面工具,这篇文章中有相关的介绍:Minio图形化界面工具MinIO Console的搭建使用_minio-console-CSDN博客,比原自带的管理后台功能多不少。可能也正是因此原来的9000端口业务进行了隐藏。

    另外新版本的minio如果使用docker部署,分享地址内的ip则是docker容器内的ip,复制地址替换为宿主机地址访问会报错。需要增加一个选项 MINIO_SERVER_URL 来指定服务器的地址。即在启动时增加环境变量:MINIO_SERVER_URL:http://宿主机ip:9000。还遇到其它的报错:

ERROR Unable to validate passed arguments: host in server address should be this server

如后面的示例所示。

  1. #minio最新版2023-02-27T18-10-45Z的正确启动命令示例记录
  2. docker run -di \
  3. -p 9000:9000 \
  4. -p 9001:9001 \
  5. --name minio \
  6. --restart=always \
  7. -e "MINIO_ROOT_USER=admin \
  8. -e "MINIO_ROOT_PASSWORD=test123 \
  9. -e "MINIO_SERVER_URL=http://192.168.1.11:9000/" \
  10. -v /disk/minio_data:/data \
  11. -v /disk/minio_config:/root/.minio \
  12. minio/minio server /data \
  13. --console-address ":9001"

    使用MinIO Console可以直接在界面操作用户策略和用户,然后将桶和策略用户绑定,不过除此之外还需要设置桶的下载策略,即以前设置为download的步骤。否则使用程序进行wget时会报HTTP request sent, awaiting response... 403 Forbidden。

    默认所有的存储桶策略都是private,无法访问其中的图片,需要在Access Rules中添加规则,prefix设置为*,Access设置为readonly,添加这个策略即可解决使用wget下载的问题。

二、MinIO客户端client  MC 的安装使用 

    官方文档虽然有一个Minio Client指南:MinIO Client — MinIO Object Storage for Linux 但我觉得真讲得不够清楚,反正我看了几遍,试着处理不好用。后来自己琢磨才发现用法。

第一步:安装mc 即MinIO client

  1. #安装方法,可以使用docker安装,官方文档如下:
  2. root@kermit:~# docker pull minio/mc
  3. root@kermit:~# docker run minio/mc ls play
  4. root@kermit:~# docker run -it --entrypoint=/bin/sh minio/mc

    mc就像是一个redis client那样的东西,通过docker安装每次都创建一个容器,完全没必要,而且交互还不是很方便。上面第二条命令是直接查看默认的minio官网的一个OBS。不好用。mc就是一个命令而已,根本没有必要docker安装,直接下载mc文件添加执行权限就可以使用了。方法如下:

  1. wget https://dl.min.io/client/mc/release/linux-amd64/mc -P /usr/local/bin/
  2. chmod +x /usr/local/bin/mc

第二步:配置mc云服务

    配置mc的云服务,也叫添加一个云存储服务,因为默认mc就带有一些去服务的配置,比如play,比如gcs和local。使用命令:
mc config host add <ALIAS> <YOUR-S3-ENDPOINT> <YOUR-ACCESS-KEY> <YOUR-SECRET-KEY> [--api API-SIGNATURE]
<ALIAS>别名就是给你的云存储服务起了一个短点的外号。必须要的。就是替代http://127.0.0.1:9000这个地址
<YOUR-S3-ENDPOINT>就是你的云服务的地址,比如http://127.0.0.1:9000
<YOUR-ACCESS-KEY> <YOUR-SECRET-KEY>是你的云存储服务账号密码,在启动docker容器时指定的。
API签名是可选参数,默认情况下,它被设置为"S3v4"。
云服务的配置文件在/root/.ms/config.json文件中,里面就保存了已经配置的云服务,比如play。进行如下配置前后可以对比查看一下配置文件。

  1. #删除默认的play服务
  2. root@kermit:~/.mc# mc config host remove play
  3. Removed `play` successfully.
  4. #可以直接add配置实现覆盖已有的配置
  5. root@kermit:~/.mc# mc config host add local http://127.0.0.1:9000/ username password
  6. Added `local` successfully.
  7. root@kermit:~/.mc# mc config host remove gcs
  8. Removed `gcs` successfully.

第三步:使用mc工具

mc的命令选项很多,内部也有很多command,需要慢慢尝试。ls可以列出一个云服务下面的BUGKETG列表。进入bucket可以列出所有的文件列表。使用如下,更多这方面的内容可以查看官网。

  1. root@kermit:~/.mc# mc ls local
  2. [2020-11-18 09:21:18 CST] 0B kermit/
  3. root@kermit:~/.mc# mc ls local/kermit
  4. [2020-11-18 09:21:41 CST] 399KiB 11dae1.jpg
  5. root@kermit:~/.mc# mc mb local/images
  6. Bucket created successfully `local/images`.
  7. #其它命令:删除一天前的对象
  8. mc rm --force --older-than=1 play/mybucket/oldsongs
  9. #生成一个对一个对象有4小时访问权限的URL。
  10. mc share download --expire 4h play/mybucket/myobject.txt
  11. #持续从s3存储桶中查找所有jpeg图像,并复制到minio "play/bucket"存储桶
  12. mc find s3/bucket --name "*.jpg" --watch --exec "mc cp {} play/bucket"
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/577381
推荐阅读
相关标签
  

闽ICP备14008679号