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
相关产品推荐
相关产品推荐

