You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MinIO容器创建Bucket时触发AccessDenied错误求助

MinIO创建Bucket时AccessDenied错误解决方法

问题描述

部署MinIO容器后,使用Python MinIO客户端创建Bucket时出现以下错误:

S3 operation failed; code: AccessDenied, message: Access denied

使用的Python代码:

minio_client = minio.Minio(endpoint=os.getenv("MINIO_HOST"), secure=False)

if not minio_client.bucket_exists("bucket1"):
    minio_client.make_bucket("bucket1")

Docker Compose配置:

minio:
  image: minio/minio
  ports:
    - "9000:9000"
    - "9001:9001"
  volumes:
    - /.minio_storage:/data
  environment:
    MINIO_ROOT_USER: admin
    MINIO_ROOT_PASSWORD: password
  command: server --address 0.0.0.0:9000 --console-address ":9001" /data
  restart: unless-stopped

解决步骤

  • Python客户端添加认证参数
    错误核心是初始化MinIO客户端时未传入认证凭证。MinIO启用了根用户认证,必须在客户端初始化时提供access_key和secret_key,对应Docker Compose中配置的MINIO_ROOT_USER和MINIO_ROOT_PASSWORD。修改后的代码如下:

    import os
    from minio import Minio
    
    minio_client = Minio(
        endpoint=os.getenv("MINIO_HOST"),
        access_key=os.getenv("MINIO_ROOT_USER", "admin"),
        secret_key=os.getenv("MINIO_ROOT_PASSWORD", "password"),
        secure=False
    )
    
    if not minio_client.bucket_exists("bucket1"):
        minio_client.make_bucket("bucket1")
    
  • 验证环境变量有效性
    确保Python代码运行环境中已正确设置MINIO_HOST、MINIO_ROOT_USER、MINIO_ROOT_PASSWORD三个环境变量,或者直接在代码中指定(仅测试场景建议)。

  • 排查容器权限相关问题
    确认Docker Compose中的MINIO_ROOT_USER和MINIO_ROOT_PASSWORD配置无误,且容器已重启生效。同时检查宿主机挂载目录/.minio_storage的读写权限,确保MinIO进程可正常读写该目录。

内容的提问来源于stack exchange,提问作者TASK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 20:40:07