linux下使用Docker和OSS轻松搭建ownCloud专属网盘(网盘关闭不用怕)

 更新时间:2017年04月12日 23:54:12   投稿:mdxy-dxy  
本文将利用阿里云容器服务在几分钟内轻松搭建一个基于Docker的ownCloud专属网盘,并使用阿里云提供的OSS(Object Storage Service,对象存储服务)作为高可靠、低成本的云存储后端,需要的朋友可以参考下

文件共享是团队协作的刚需,面对说停就停的网盘服务,很多同学除了心塞已经开始盘算搭建自己的网盘应用了。

ownCloud 是一个开源免费的存储管理工具,它能帮你快速架设一套专属的网盘服务,可以像 Dropbox 那样实现文件跨平台同步、共享、版本控制、团队协作等等。

然而在VPS上搭建ownCloud是一件费时费力的工作,除此之外更需要考虑数据的可靠性、备份等工作。

本文将利用阿里云容器服务在几分钟内轻松搭建一个基于Docker的ownCloud专属网盘,并使用阿里云提供的OSS(Object Storage Service,对象存储服务)作为高可靠、低成本的云存储后端。

创建 OSS bucket

首先你需要创建一个和容器服务处于同一区域中的bucket,这样容器应用可以通过内网地址来访问bucket中存储的文件数据,提升访问速度并节省公网带宽

创建 OSS 数据卷

数据卷是Docker提供的容器储存模型:可以实现容器和数据生命周期的解耦,当容器被删除或重建之后数据依然存在;提供了可扩展的插件机制,支持不同的存储实现。

阿里云容器服务内置了针对阿里云的数据卷驱动,支持不同类型的云存储服务:包括NAS(文件存储服务 NFS),OSS(对象存储服务,OSSFS)和云盘(即将推出)。关于数据卷的详细信息可以参阅帮助文档

OSSFS 能把OSS bucket挂载到本地像访问本地文件一样操作云端存储数据,非常适合文件存储类型的应用。我们可以在容器服务控制台的“数据卷”页面,方便地为指定集群创建一个“OSS”类型的数据卷

配置如下: 数据卷名: owncloud ,也可以选择其他值,这个需要和下文模板中引用volume保持一致

AccessKey ID和AccessKey Secret:可以从当前用户账号的“accesskeys”中获得

其他参数值:输入 -o noxattr 来提升数据卷性能

访问域名:根据当前集群的网络方式,选择“内网域名”或者“VPC域名”来访问OSS bucket。

文件缓存:选择 打开 可以提升访问性能

值得注意的是:OSS和NAS类型的数据卷都是全局(global)数据卷,会出现在集群中任何一个节点上。如果容器指明了重新调度配置,即使所在节点挂掉,可以自动在其他健康节点上重新恢复,而相同数据卷依然可以mount到容器指定目录上,不会导致数据丢失。

创建编排模板

在编排模板列表页面,创建如下编排模板

owncloud:
 image: owncloud:9
 restart: always
 links:
  - mysql:mysql
 volumes:
  - owncloud:/owncloud
 labels:
  aliyun.routing.port_80: 'owncloud'
mysql:
 image: mysql:5.7
 restart: always
 environment:
  MYSQL_ROOT_PASSWORD: changeme

注释:

这里使用了 ownCloud的官方Docker镜像 和 MySQL的官方Docker镜像 。ownCloud应用容器利用容器别名 mysql 来关联MySQL容器。 利用 aliyun.routing.port_80: 'owncloud' 标签指明了用于访问网盘应用的虚拟域名 利用 volumes 中的数据卷映射,把我们创建出来的OSS数据卷 owncloud 挂载到容器的 /owncloud 目录。使用编排模板部署ownCloud应用

选择编排模板,点击部署应用。片刻之后,应用就会部署成功

选择owncloud服务,并点击访问端点

在浏览器中就可以看到ownCloud的配置界面了

输入管理员账号和密码之后,选择“存储&数据库”进行配置。ownCloud 缺省会使用SQLite作为数据库,并使用本地文件系统来保持数据文件。请按如下界面修改配置

注意:

数据目录: 输入 /owncloud/data 这里面/owncloud是OSS bucket在容器中的挂载点 配置数据库:选择 MySQL/MariaDB 数据库用户: 输入 root 数据库密码: 输入编排模板中对应数据库ROOT密码 数据库名称: 输入 owncloud 数据库地址: 输入 mysql 连接MySQL数据库容器

点击“安装完成”,片刻之后下面的页面会出现

使用ownCloud应用

这时候你的专属网盘就成功建立起来了。不但可以上传文件,还可以为文件生成“分享链接”。

收到链接的小伙伴,就能看到你送来的满满的节日祝福了

ownCloud还有很多玩法,本文不再赘述。

总结

数据卷是Docker支持有状态应用的重要机制。合理选择不同的数据卷类型可以让你更好地管理应用中的持久化数据。

阿里云容器服务完全兼容Docker数据卷机制,同时内置了对阿里云存储服务的支持,无需编程就可以使用不同的存储能力。

相关文章

  • Linux如何修改SSH端口号

    Linux如何修改SSH端口号

    这篇文章主要介绍了Linux如何修改SSH端口号问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Apache 内容动态缓冲模块 mod_cache应用

    Apache 内容动态缓冲模块 mod_cache应用

    mod_cache是apache中基于URI键的内容动态缓冲(内存或磁盘),从Apache2.2起,mod_cache和mod_file_cache将不再是试验模块,它们已经足够稳定,可以用于实际生产中了。
    2013-10-10
  • Linux tun虚拟网卡通信的使用解读

    Linux tun虚拟网卡通信的使用解读

    这篇文章主要介绍了Linux tun虚拟网卡通信的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-05-05
  • SELINUX工作原理详解

    SELINUX工作原理详解

    这篇文章主要介绍了SELINUX工作原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Linux下为PHP添加扩展库的方法

    Linux下为PHP添加扩展库的方法

    我刚刚开始学习lnmp环境,对php编译的参数基本上都不知道,在网上看了很多教程,看到在编译PhP的时候都还了很多参数,也在网上查了这些参数是什么意思,但是却不知道,哪些参数必须要加上,哪些参数不需要加
    2012-09-09
  • 详解ubuntu安装opencv的正确方法

    详解ubuntu安装opencv的正确方法

    这篇文章主要介绍了ubuntu安装opencv的正确方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • 在Linux终端中统计非二进制文件行数的实现方法

    在Linux终端中统计非二进制文件行数的实现方法

    在Linux系统中,有时需要统计非二进制文件(如CSV、TXT文件)的行数,而不希望手动打开文件进行查看,例如,在处理大型日志文件、数据文件时,了解文件的行数可以帮助我们更好地评估数据量,进行后续的数据处理和分析,需要的朋友可以参考下
    2025-06-06
  • 批处理模式下运行 top 命令的方法

    批处理模式下运行 top 命令的方法

    top 命令 是每个人都在使用的用于 监控 Linux 系统性能 的最好的命令。这篇文章给大家介绍批处理模式下运行 top 命令的方法,感兴趣的朋友一起看看吧
    2019-10-10
  • 免费常用Linux VPS管理面板/一键包介绍和安装方法

    免费常用Linux VPS管理面板/一键包介绍和安装方法

    这篇文章主要介绍了常用免费Linux VPS管理面板/一键包介绍和安装方法,需要的朋友可以参考下
    2017-02-02
  • 详解linux 定时任务 crontabs 安装及使用方法

    详解linux 定时任务 crontabs 安装及使用方法

    这篇文章主要介绍了linux 定时任务 crontabs 安装及使用方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07

最新评论