阿里云OSS挂载到Linux

0. 阅读本文可以得到什么

  1. 学会使用阿里云OSS挂载到Linux
  2. 支持Linux中启动的Docker容器挂载OSS路径,得到一个使用OSS的容器
  3. 避开LabelStudio挂载数据集的坑

1. 简介

前接LabelStudio上文,图片数据集的加载太慢,购买了OSS,但是发现两处大坑:

  1. 开源版本的LabelStudio无法直接使用阿里云的AWS协议挂载
  2. 在云平台操作OSS直接挂载到ECS实例,每天的费用要几元,比OSS的使用费用还高。

经过一番研究,阿里云官方提供了ossfs挂载工具,可以在Linux上直接挂载为本地磁盘,读写性能可能有损耗,但至少能用!

2. 在云平台配置权限(如果是自有主机则跳过)

  1. 对象存储bucket名称
  1. 角色创建并授权

https://ram.console.aliyun.com/roles 在RAM控制台创建角色,例如oss-manager,配置OSS的 AliyunOSSFullAccess 权限

  1. 角色权限在OSS bucket中配置

https://oss.console.aliyun.com/bucket/oss-cn-beijing/你的bucket名称,注意替换/permission/policy 配置允许特定的服务器或者IP使用,推荐读写权限

2. 安装ossfs

OSSFS官方安装文档

本人成功案例:使用源码安装方式成功在阿里云ECS Ubuntu20系统中成功安装,其它方式缺lib库

2.ossfs配置与挂载命令

  1. 提前在Linux中创建对应目录,例如 /home/label-studio/files/ossfs
arduino 复制代码
mkdir -p /home/label-studio/files/ossfs
  1. 执行ossfs挂载命令
ruby 复制代码
ossfs bucket名称 /home/label-studio/files/具体目录名 -o url=http://oss-cn-beijing.aliyuncs.com -o ram_role=http://100.100.100.200/latest/meta-data/ram/security-credentials/你创建的角色名  -o allow_other 

参数解释

参数解释 复制代码
ossfs \
对象存储bucket名称 \    
/home/label-studio/files/具体目录名  \   # 必须为Linux的绝对路径
-o url=http://oss-cn-beijing.aliyuncs.com \  # OSS创建的区域地
-o ram_role=http://100.100.100.200/latest/meta-data/ram/security-credentials/你创建的角色名  \
-o allow_other 

OSSFS官方配置挂载文档

宿主机确认挂载效果

ls -ll /home/label-studio/files/具体目录名

ruby 复制代码
root@daozi25:/home/label-studio/files# ls -ll
total 13
drwxrwxrwx 1 root     root 4096 Jan  1  1970 ossfs

容器挂载&确认效果

容器启动时挂载加上参数-v /home/label-studio/files/具体目录名:/label-studio/files/具体目录名

bash 复制代码
# 登陆容器查看
docker exec -it 
ls -ll /label-studio/files
# 权限与宿主机结果一致
相关推荐
知识的搬运工旺仔2 小时前
CREATE INDEX CONCURRENTLY:线上建索引不阻塞 DML 的代价与坑
数据库·后端·sql
小蒜学长2 小时前
大学生健康饮食的智慧管理系统(代码+数据库+LW)
java·后端·springboot·大学生·健康饮食
小蒜学长2 小时前
基于Java的论坛数据可视化分析系统的设计与实现(代码+数据库+LW)
java·spring boot·后端·数据可视化·论坛系统
青山木2 小时前
RocketMQ 入门到原理(一):整体架构与消息的生命周期
java·分布式·后端·中间件·架构·rocketmq
黑马程序员毕设2 小时前
基于微信小程序的二手交易平台设计与实现报告
前端·人工智能·spring boot·后端·考研
十二同学啊3 小时前
Drools规则引擎:让复杂业务规则从代码中解耦
java·后端·开源
打工仔折腾 AI3 小时前
Pascal Editor 本地部署实战:Bun 启动 WebGPU 3D 编辑器并解决公网访问报错
人工智能·后端·python·性能优化
用户EasyAdminBlazor4 小时前
EasyAdminBlazor 2.3 源码架构解析:Blazor Admin 请求到底是怎么跑起来的?
后端