minio部署学习

​ MinIO 是一个高性能、开源的对象存储系统,兼容 Amazon S3 API,常用于存储非结构化数据,如图片、视频、日志、备份和容器镜像等。它采用 Go 语言开发,部署简单,支持单机模式和分布式集群模式,能够在通用硬件或云环境中运行。MinIO 具有轻量化、高扩展、高可靠的特点,可通过水平扩展节点来提升存储容量和性能。它同时提供命令行工具 mc 和 Web 管理控制台,方便用户进行 Bucket 管理、文件上传下载、访问权限配置和数据同步。凭借其 S3 兼容性,MinIO 常作为私有云或混合云对象存储的核心组件,适合企业构建云原生应用和大数据平台。

docker-持久化部署

1
2
3
4
5
6
7
8
9
docker run -d \
--name minio \
--restart unless-stopped \
-p 9000:9000 \
-p 9090:9090 \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=admin123" \
-v /data/regen/minio/minio_home:/data \
minio/minio server /data --console-address ":9090"

image-20250916164537101

mc

mc的使用

mc(MinIO Client)是 MinIO 官方提供的命令行工具,用来管理 MinIO 或兼容 S3 的对象存储服务。它的作用类似于 aws cli,可以方便地创建存储桶(Bucket)、上传/下载文件、同步目录、设置访问权限等。

mc 的安装

Linux 安装示例:

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

检查是否安装成功:

1
mc --version

mc 的基本使用方法

1. 添加存储服务(alias)

1
mc alias set myminio http://127.0.0.1:9000 admin 12345678
  • myminio → 自定义的别名
  • http://127.0.0.1:9000 → MinIO 服务地址
  • admin 12345678 → 账号和密码

之后所有操作都通过 myminio 来执行。


2. Bucket(存储桶)操作

创建存储桶:

1
mc mb myminio/mybucket

查看存储桶:

1
mc ls myminio

删除存储桶:

1
mc rb myminio/mybucket

3. 文件操作

上传文件:

1
mc cp ./file.txt myminio/mybucket

下载文件:

1
mc cp myminio/mybucket/file.txt ./local.txt

列出文件:

1
mc ls myminio/mybucket

删除文件:

1
mc rm myminio/mybucket/file.txt

4. 查看信息

查看文件或 Bucket 信息:

1
mc stat myminio/mybucket/file.txt

5. 权限管理

将存储桶设为公开可读:

1
mc anonymous set download myminio/mybucket

取消公开访问:

1
mc anonymous set none myminio/mybucket

6. 数据同步(备份)

将本地目录同步到 MinIO:

1
mc mirror ./data myminio/mybucket

从 MinIO 同步到本地:

1
mc mirror myminio/mybucket ./data

7. 高级用法

  • 列出所有别名:

    1
    mc alias list
  • 测试存储性能:(需要官方账号)

    1
    mc support perf myminio

总结

  • mc alias set → 配置服务别名
  • mc mb / ls / rb → 管理 Bucket
  • mc cp / ls / rm → 文件上传、下载、删除
  • mc stat → 查看信息
  • mc anonymous set → 设置权限
  • mc mirror → 数据同步