阿里云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
# 权限与宿主机结果一致
相关推荐
用户61204149221312 分钟前
C语言做的物联网设备数据采集模拟器
c语言·后端·敏捷开发
华仔啊1 小时前
千万级大表如何新增字段?别再直接 ALTER 了
后端·mysql
IT_陈寒1 小时前
Python开发者必看!10个高效数据处理技巧让你的Pandas代码提速300%
前端·人工智能·后端
程序员鱼皮1 小时前
让老弟做个数据同步,结果踩了 7 个大坑!
java·后端·计算机·程序员·编程·职场
程序员清风1 小时前
滴滴二面:MySQL执行计划中,Key有值,还是很慢怎么办?
java·后端·面试
熊小猿2 小时前
Spring Boot 的 7 大核心优势
java·spring boot·后端
shepherd1112 小时前
JDK 8钉子户进阶指南:十年坚守,终迎Java 21升级盛宴!
java·后端·面试
yeyong2 小时前
如何让 docker镜像使用系统时间,而不是utc
后端
Penge6662 小时前
分布式与集群:从概念到跨机房部署
后端
凉城a2 小时前
经常看到的IPv4、IPv6到底是什么?
前端·后端·tcp/ip