MinIO 是在 GNU Affero 通用公共许可证 v3.0 下发布的高性能对象存储。 它是与 Amazon S3 云存储服务兼容的 API 官方文档http://docs.minio.org.cn/docs/master/minio-admin-complete-guide

https://hub.docker.com/r/minio/minio/tags?page=1&ordering=last_updated docker仓库上各个版本查看

本文使用这个版本:RELEASE.2022-05-08T23-50-31Z.hotfix.d7313e455,保存在服务器上的文件为真实文件

docker pull  minio/minio:RELEASE.2022-05-08T23-50-31Z.hotfix.d7313e455 


docker run --name minio \
-p 9090:9000 \
-p 9999:9999 \
-di --restart=always \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=admin123" \
-v /etc/localtime:/etc/localtime \
-v /data/minio/config:/root/.minio \
-v /data/minio/data:/data \
minio/minio:RELEASE.2022-05-08T23-50-31Z.hotfix.d7313e455 server /data \
--console-address '0.0.0.0:9999'

9999为控制台端口,启动后,浏览器访问ip:9999 image.png

权限配置: 自定义策略 我们可以通过控制台或者mc客户端添加策略,实际就是一个Json文件。 首先在控制台点击IAM策略,然后点击创建策略。 填写策略名称,输入策略Json 策略Json文件内容如下: Allow表示允许操作 Action表示对资源的具体操作权限,对对象操作,首先要操作存储桶,所以首先这里给了存储桶查询权限,然后给了上传和下载对象的权限 Resource表示对111存储桶下的所有资源有权限

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:DeleteObject",
                "s3:GetBucketLocation",
                "s3:GetObject",
                "s3:ListAllMyBuckets",
                "s3:ListBucket",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::111/*"
            ]
        }
    ]
}

系统默认策略 AWS Identity and Access Management (IAM) 是一种 Web 服务,可以帮助您安全地控制对 AWS 资源的访问。您可以使用 IAM 控制对哪个用户进行身份验证 (登录) 和授权 (具有权限) 以使用资源。 默认存在5种IAM策略: 权限 解释 consoleAdmin 控制台管理员 diagnostics 诊断 readonly 只读 readwrite 读写 writeonly 只写