阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

使用Docker搭建minio对象存储

219次阅读
没有评论

共计 2085 个字符,预计需要花费 6 分钟才能阅读完成。




MinIO 是一个基于 Apache License v2.0 开源协议的对象存储服务。它兼容亚马逊 S3 云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器 / 虚拟机镜像等,这篇文章分享下使用 Docker 搭建一个单磁盘实例的 minio 对象存储服务。

Docker 搭建 minio server

在开始之前,请确保您已经安装好 Docker 环境,参考:Linux 安装 Docker 与 Docker 常用命令,然后复制下面的命令执行:

docker run -d -p 9000:9000 \
  -p 9001:9001 \
  --name minio \
  -v /data/minio:/data \
  -e "MINIO_ROOT_USER=xxx" \
  -e "MINIO_ROOT_PASSWORD=xxx" \
  -e MINIO_DOMAIN="xxx.com" \
  --restart=always \
  minio/minio server /data --console-address ":9001"

上述参数含义如下:

  • 9000数据通讯端口,比如您通过客户端或 API 上传对象时使用的端口
  • /data/minio为本地挂载路径
  • MINIO_ROOT_USER设置用户名
  • MINIO_ROOT_PASSWORD设置密码
  • MINIO_DOMAIN设置域名,域名的作用后面做进一步介绍
  • --console-address ":9001"为 WEB 访问端口,以前老版本没有这个参数,最近新版增加的

域名的作用

默认情况下,如果要访问某个对象,地址为:http://IP:9001/bucket/xxx.txt,如果您在搭建的时候添加了域名参数MINIO_DOMAIN,域名做好解析后,您可以使用这样的方式访问到对象:http://bucket.xxx.com/1.txt,相当于就是将 bucket 映射为主机名称(域名前缀)

访问 && 设置

搭建完毕后通过您的 IP:9001 进行访问(或者域名也可以,前提是需要做解析),输入上面设置的用户名、密码进行登录。

用过对象存储的同学应该都知道 bucket 的概念,翻译成中文就是“桶”,我们的对象(文件)就是存放在这个“桶里面”,接下来我们点“Create Bucket”创建一个桶。

桶名称自己随便取一个,只要不重名就行。然后还可以选择是否启用对象(文件)历史版本,以及一些数据限制(比如容量或者文件数),不过上面是单磁盘运行的,似乎不支持这些特性。

mc 客户端安装

mc 客户端用于操作和管理 minio,以 Linux 系统为例:

# 下载 mc 客户端
wget https://dl.min.io/client/mc/release/linux-amd64/mc
#添加执行权限
chmod +x mc
#移动到 /usr/bin 目录
mv mc /usr/bin/
#查看使用帮助
./mc --help

使用之前我们需要先进行设置,执行下面的命令,添加一个 mino 存储:

mc config host add minio http://192.168.1.51 BKIKJAA5BMMU2RHO6IBB V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12 --api s3v4
  • http://192.168.1.51为 minio server 的 IP(注意需要带上端口号,如果按照上面的 docker 方法安装,应该带上 9000 端口)
  • BKIKJAA5BMMU2RHO6IBB对应上面的用户名(AccessKeyID)
  • V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12对应上面的密码(SecretAccessKey)

添加后会写入到一个配置文件中,路径为:/root/.mc/config.json如果需要移除某个存储,可以直接编辑 json 文件,或者通过下面的命令操作:

# 移除名称为 minio 的存储
mc config host remove minio

常用的一些命令如下:

ls       列出文件和文件夹。mb       创建一个存储桶或一个文件夹。cat      显示文件和对象内容。pipe     将一个 STDIN 重定向到一个对象或者文件或者 STDOUT。share    生成用于共享的 URL。cp       拷贝文件和对象。mirror   给存储桶和文件夹做镜像。find     基于参数查找文件。diff     对两个文件夹或者存储桶比较差异。rm       删除文件和对象。events   管理对象通知。watch    监听文件和对象的事件。policy   管理访问策略。session  为 cp 命令管理保存的会话。config   管理 mc 配置文件。update   检查软件更新。version  输出版本信息。

最后

上述内容仅简单介绍了 minio server 的安装和 mc 客户端的基本使用,minio 的功能和特性还远不止如此。此文章仅使用单磁盘快速搭建和演示,生产用途请搭建多磁盘的分布式方案。minio 作为企业级的自建对象存储方案,目前已经比较成熟和完善,入门也比较简单。如果企业有对象存储方面的需求,minio 不妨一试。

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计2085字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中