使用docker快速搭建minio文件存储

1.背景

在日常开发中,我们经常需要处理文件上传、下载、存储与访问的场景,比如图片、视频、日志文件、模型数据集等。传统的文件系统难以满足高并发、分布式部署以及云原生化的需求,而 MinIO 作为一款高性能、轻量级、兼容 Amazon S3 协议的对象存储服务,正是为此而生。

2.部署

2.1 拉取 Minio 镜像

docker pull registry.cn-hangzhou.aliyuncs.com/chenkaidi/minio:20251109

2.2 启动 Minio 容器

docker run -d \
--name minio \
-p 9000:9000 \
-p 9001:9001 \
-v /data/minio/data:/data \
-v /data/minio/config:/root/.minio \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=admin123456" \
registry.cn-hangzhou.aliyuncs.com/chenkaidi/minio:20251109 \
server /data --console-address ":9001"

1)参数说明

  • -p 9000:9000:MinIO API 服务端口
  • -p 9001:9001:Web 控制台端口
  • -v /data/minio/data:/data:映射数据目录
  • -v /data/minio/config:/root/.minio:保存配置
  • MINIO_ROOT_USER、MINIO_ROOT_PASSWORD:管理员账号密码
  • server /data --console-address ":9001":指定数据目录并启用控制台端口

2)启动后访问

  • 控制台地址:http://ip:9001
  • 登录账号:admin
  • 登录密码:admin123456

3.上传文件

在 MinIO中,桶(Bucket) 是最顶层的逻辑存储单元,可以理解为一个“命名空间”或“大文件夹”,它是所有对象(文件)的容器。

MinIO 不存在真正的目录结构,而是通过对象 key 的前缀来模拟目录层级。

例如,我们可以创建一个 bucket 叫 test

分别上传2个文件,1.docx、amd.tar.gz  , 数据集下面的文件对象如下:

test/
 ├── mytest1/
 │    ├── 1.docx
 └── mytest2/
      ├── amd.tar.gz
test/mytest1/1.docx
test/mytest2/amd.tar.gz