如何在Label Studio中配置MinIO?上传图片无法显示问题解决
在Label Studio中配置MinIO及解决图片上传后不显示问题
一、完整MinIO配置步骤
1. 完善docker-compose.yml配置
你的现有配置已包含Label Studio的MinIO环境变量,但需补充MinIO服务节点。更新后的完整配置如下:
version: '3.8' services: db: image: postgres:13 restart: unless-stopped environment: POSTGRES_DB: postgres POSTGRES_USER: postgres POSTGRES_PASSWORD: "" volumes: - postgres_data:/var/lib/postgresql/data/ minio: image: minio/minio:latest restart: unless-stopped command: server /data --console-address ":9001" volumes: - minio_data:/data ports: - "9000:9000" - "9001:9001" environment: MINIO_ROOT_USER: minio_admin_do_not_use_in_production MINIO_ROOT_PASSWORD: minio_admin_do_not_use_in_production app: stdin_open: true tty: true build: . image: heartexlabs/label-studio:latest restart: unless-stopped ports: - "8000:8000" depends_on: - db - minio environment: - DJANGO_DB=default - POSTGRE_NAME=postgres - POSTGRE_USER=postgres - POSTGRE_PASSWORD= - POSTGRE_PORT=5432 - POSTGRE_HOST=db - LABEL_STUDIO_HOST=${LABEL_STUDIO_HOST:-localhost:8000} - JSON_LOG=1 - MINIO_STORAGE_ACCESS_KEY=minio_admin_do_not_use_in_production - MINIO_STORAGE_SECRET_KEY=minio_admin_do_not_use_in_production - MINIO_STORAGE_BUCKET_NAME=data - MINIO_STORAGE_ENDPOINT=http://minio:9000 - MINIO_STORAGE_USE_HTTPS=False
说明:
- 新增
db服务(原配置依赖但未定义)和minio服务,提供数据库与对象存储能力- 给
app服务添加端口映射,方便外部访问Label Studio- 补充
MINIO_STORAGE_USE_HTTPS变量,明确使用HTTP协议
2. 创建MinIO存储桶
启动所有服务后,访问MinIO控制台(默认地址http://localhost:9001),用配置的账号密码登录,手动创建名为data的存储桶,与MINIO_STORAGE_BUCKET_NAME变量值保持一致。
3. 验证存储配置
启动服务后,进入Label Studio的Settings > Cloud Storage,确认MinIO存储已连接成功,即可上传测试图片。
二、图片上传成功但页面不显示的解决方法
这类问题通常由以下原因导致,对应解决方式如下:
1. MinIO端点无法被前端访问
原配置中MINIO_STORAGE_ENDPOINT使用容器内部域名http://minio:9000,仅Docker内部可访问,前端浏览器无法解析。需调整两处:
- 修改Label Studio的环境变量,将
MINIO_STORAGE_ENDPOINT改为外部可访问地址,比如本地测试用http://localhost:9000,服务器部署用http://你的公网IP:9000 - 在MinIO控制台的Settings > Configuration中,将
MINIO_SERVER_URL设置为上述一致的外部访问地址
2. MinIO存储桶权限配置
确保存储桶允许公开读取:
- 进入MinIO控制台的存储桶详情页,切换到Permissions标签
- 添加策略,允许所有用户对桶内对象执行
read操作(也可针对Label Studio访问来源配置更严格权限)
3. 跨域资源共享(CORS)配置
若Label Studio与MinIO域名/端口不同,需配置MinIO的CORS规则:
- 在MinIO控制台的Settings > CORS标签,点击Add Rule
- 设置允许来源为Label Studio的访问地址(如
http://localhost:8000),允许方法包含GET、POST,允许Header设为*
完成以上调整后,重启Label Studio和MinIO服务,上传的图片即可正常显示。
内容的提问来源于stack exchange,提问作者984958198
相关产品推荐
相关产品推荐

