开发者社区> 易立> 正文

网盘关闭不用怕:利用Docker和OSS轻松搭建ownCloud专属网盘

简介: 本文将利用阿里云容器服务在几分钟内轻松搭建一个基于Docker的ownCloud专属网盘,并使用阿里云提供的OSS对象存储服务作为高可靠、低成本的云存储后端。
+关注继续查看

14826478775012

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

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

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

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

创建 OSS bucket

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

14826425506723

创建 OSS 数据卷

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

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

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

14826427546930

配置如下:

  • 数据卷名:owncloud ,也可以选择其他值,这个需要和下文模板中引用volume保持一致
  • AccessKey ID和AccessKey Secret:可以从当前用户账号的“accesskeys”中获得

    • 14826429588693
  • 其他参数值:输入 -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应用

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

14826433876153

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

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

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

注意:

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

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

使用ownCloud应用

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

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

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

总结

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

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

想了解更多容器服务内容,请访问 https://www.aliyun.com/product/containerservice

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
利用云存储网关搭建Windows文件共享服务器
如果你希望你的数据最终能够存储于阿里云对象存储之上,同时你又希望能够提供传统的文件共享的接口,主要就是SMB/NFS的文件访问协议接口,那么云存储网关绝对是你的不二选择。本文将主要介绍如何基于云存储网关搭建Windows文件共享服务器。
2131 0
centos7安装owncloud搭建个人云服务器
首先登录服务器,安装一些必要程序,因为本地源不支持一些程序的新版本,所以必须把源换一下1、下载阿里yum源并移动到yum目录中,删除其他源 wget -nc http://mirrors.
3762 0
阿里云服务器CentOS 7搭建SS方法
本篇文章教你如何自建服务器搭建ShadowSocks 开启魔法上网,相信点开这篇文章的小伙伴都懂,这里就不多介绍了 服务器的购买 这里推荐阿里云比较不错,可直接移至阿里云官网购买。 测试 服务器购买完成后首先得测试一下是否可用Windows 先 win + R 输入 cmd,弹出一个黑窗口后在里面.
7709 0
Nexus3 OSS环境搭建以及在日常工作中的用途
本文介绍的Nexus不是谷歌的一个手机品牌哈,而是一个非常强大的仓库管理平台。支持常见的Docker、Maven、npm、PyPI等仓库的管理。
102 0
在IIS上搭建WebSocket服务器(二)
原文:在IIS上搭建WebSocket服务器(二) 服务器端代码编写 1.新建一个ASP.net Web MVC5项目   2.新建一个“一般处理程序” 3.Handler1.ashx代码如下: using System; using System.
2131 0
Oracle 11G RAC 关闭asm实例
背景:因为RAC的一个节点故障,需要关闭asm实例 数据库:Oracle 11GR2 1.切换到grid账户 [root@netrac_node02 ~]# su - grid 2.
924 0
+关注
易立
易立,阿里云资深专家,目前负责阿里云容器服务和区块链服务研发。之前曾在IBM中国开发中心工作,担任资深技术专员。关注Docker/Kubernetes等云原生计算和Hyperledger Fabric/Ethereum等区块链技术。
69
文章
37
问答
来源圈子
更多
容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级 Kubernetes 容器化应用的全生命周期管理。容器服务 Kubernetes 版简化集群的搭建和扩容等工作,整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳的 Kubernetes 容器化应用运行环境。
+ 订阅
相关文档: 容器镜像服务 ACR 容器服务 ACK 服务网格 ASM
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载