1. 情景 : 已经使用docke-compsoe 搭建起来nextcloud 并投入使用  ,现在内存不够需要挂一个oss 

 nextcloud挂载阿里云oss大概思路 : 使用阿里官方提供的 ossfs , 将oss挂载到服务器目录中 , 在docker-compose中的 做容器目录映射

docker-compose 部分参考 : 

: ./nextcloud 为 ossfs挂载的服务器目录  , /var/www/html/data/ossfs 为容器目录 

app:

    image: nextcloud

    ports:

      - 8080:80

    links:

      - db:db

    volumes:

      - nextcloud:/var/www/html

      - ./nextcloud:/var/www/html/data/ossfs

    restart: always

    depends_on:

        - db  

第一步 ,安装ossfs :根据官方提供的文档去装就行 :如何安装ossfs_对象存储-阿里云帮助中心

遇到错误 : ossfs: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory

重装 OpenSSL库 , 自行百度  

第二步挂载服务器目录 : 

ossfs my-bucket my-mount-point -ourl=my-oss-endpoint -ouid=33 -ogid=0  -oumask=007 -o allow_other

参考我的 : 

ossfs my-bucket-photo /usr/local/temp/photoMange/nextcloud -ourl=oss-cn-hangzhou-internal.aliyuncs.com -ouid=33 -ogid=0  -oumask=007 -o allow_other

这时 如果没有问题的话 , 在阿里云oss中上传文件  或创建文件夹: 

查看服务器本地 : 

 

 这时就已经成功挂载到服务器本地了  , 

第三步 : Nextcloud 中启用 External storage support 应用 ,添加路径 通过OSS存储数据 :

 遇到的问题 : 1. 服务器本地目录映射成功(文件同步) , 服务器本地与容器不通 :

  

 

 2. 解决上一个问题 后 , 能够在容器内使用打看到oss挂载目录的文件 , 但挂载后 , 上传文件 提示Forbidden 访问不到文件 

ls -l /www/html/data/     查看到文件ossfs 的user为root  

在容器内修改用户属性 改为www-data:

chown www-data:root /var/www/html/data/ossfs

中间可能经历很多错误操作 , 基本重启大法 + chatGTP+反复检查   浪费时间颇多  如果问题 ,可联系我 ,希望帮到大家少踩坑

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐