如何将DVC连接到已对接AWS S3存储桶的Min.IO服务
DVC双S3远程(MinIO中转+原生AWS)配置步骤
前置校验
确认你本地mc命令可以正常访问MinIO存储桶,且MinIO和源AWS S3的桶权限、网络连通性正常。
1. 项目初始化(仅首次执行)
进入你的项目目录执行:
dvc init git add .dvc .dvcignore git commit -m "init dvc"
2. 配置MinIO中转远程(对应mc-S3命名)
按顺序执行以下命令:
- 添加远程存储指向MinIO桶
dvc remote add mc-S3 s3://my_bucket/dvc_data
路径中的
dvc_data可替换为你想要存储DVC缓存对象的自定义路径
- 配置MinIO服务端点(必须配置,否则会默认访问AWS官方S3地址)
dvc remote modify mc-S3 endpointurl <你的MinIO服务访问地址,如http://192.168.1.10:9000> - 配置MinIO访问凭证(二选一即可)
- 直接写入DVC配置:
dvc remote modify mc-S3 access_key_id <你的MinIO AccessKey> dvc remote modify mc-S3 secret_access_key <你的MinIO SecretKey>- 复用系统环境变量:直接配置
AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY环境变量即可,DVC会自动读取
- 可选配置:如果MinIO用了自签SSL证书,添加配置跳过校验:
dvc remote modify mc-S3 verify_ssl false
3. 配置原生AWS S3远程(对应AWS-S3命名)
按顺序执行以下命令:
- 添加远程存储指向源AWS S3桶
dvc remote add AWS-S3 s3://My_Bucket/dvc_data
建议和MinIO侧的DVC存储路径保持一致,方便后续桶同步
- 配置AWS访问凭证(二选一即可)
- 直接写入DVC配置:
dvc remote modify AWS-S3 access_key_id <你的AWS AccessKey> dvc remote modify AWS-S3 secret_access_key <你的AWS SecretKey> dvc remote modify AWS-S3 region <AWS桶所在区域,如us-east-1>- 复用本地AWS凭证:直接用
~/.aws/credentials里的配置即可,DVC会自动读取
4. (可选)配置MinIO桶同步作为中转缓存
直接通过MinIO的桶复制功能,配置源AWS S3的My_Bucket和MinIO的MY_Bucket单向/双向同步,即可实现资源拉取优先走MinIO本地缓存,无需每次都请求AWS公网接口,桶同步配置可直接通过mc命令或MinIO控制台操作,无需修改DVC配置。
5. 命令使用测试
- 从MinIO中转拉取资源:
dvc pull -r mc-S3 - 从原生AWS S3拉取资源:
dvc pull -r AWS-S3 - 若要默认使用MinIO作为拉取源,执行:
dvc remote default mc-S3,之后直接执行dvc pull即可默认从MinIO拉取
内容的提问来源于stack exchange,提问作者Niewasz Biznes
相关产品推荐
相关产品推荐

