网盘关闭不用怕:利用Docker和OSS轻松搭建ownCloud专属网盘
文件共享是团队协作的刚需,面对说停就停的网盘服务,很多同学除了心塞已经开始盘算搭建自己的网盘应用了。
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 是一个开源免费的存储管理工具,它能帮你快速架设一套专属的网盘服务,可以像 Dropbox 那样实现文件跨平台同步、共享、版本控制、团队协作等等。
无奈人生安全网
然而在VPS上搭建ownCloud是一件费时费力的工作,除此之外更需要考虑数据的可靠性、备份等工作。
无奈人生安全网
本文将利用阿里云容器服务在几分钟内轻松搭建一个基于Docker的ownCloud专属网盘,并使用阿里云提供的OSS(Object Storage Service,对象存储服务)作为高可靠、低成本的云存储后端。 内容来自无奈安全网
创建 OSS bucket
首先你需要创建一个和容器服务处于同一区域中的bucket,这样容器应用可以通过内网地址来访问bucket中存储的文件数据,提升访问速度并节省公网带宽
无奈人生安全网
无奈人生安全网
创建 OSS 数据卷
数据卷是Docker提供的容器储存模型:可以实现容器和数据生命周期的解耦,当容器被删除或重建之后数据依然存在;提供了可扩展的插件机制,支持不同的存储实现。 无奈人生安全网
阿里云容器服务内置了针对阿里云的数据卷驱动,支持不同类型的云存储服务:包括NAS(文件存储服务 NFS),OSS(对象存储服务,OSSFS)和云盘(即将推出)。关于数据卷的详细信息可以参阅帮助文档 无奈人生安全网
OSSFS 能把OSS bucket挂载到本地像访问本地文件一样操作云端存储数据,非常适合文件存储类型的应用。我们可以在容器服务控制台的“数据卷”页面,方便地为指定集群创建一个“OSS”类型的数据卷 内容来自无奈安全网
www.wnhack.com
配置如下:
- 数据卷名: owncloud ,也可以选择其他值,这个需要和下文模板中引用volume保持一致
-
AccessKey ID和AccessKey Secret:可以从当前用户账号的“accesskeys”中获得
内容来自无奈安全网
-
其他参数值:输入 -o noxattr 来提升数据卷性能 copyright 无奈人生
-
访问域名:根据当前集群的网络方式,选择“内网域名”或者“VPC域名”来访问OSS bucket。 内容来自无奈安全网
-
文件缓存:选择 打开 可以提升访问性能 copyright 无奈人生
值得注意的是: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数据库容器
www.wnhack.com
www.wnhack.com