網(wǎng)盤關(guān)閉了怎么辦?如何搭建個人網(wǎng)盤,怎樣操作?文件共享是團(tuán)隊(duì)協(xié)作的剛需,面對說停就停的網(wǎng)盤服務(wù),很多同學(xué)除了心塞已經(jīng)開始盤算搭建自己的網(wǎng)盤應(yīng)用了。ownCloud 是一個開源免費(fèi)的存儲管理工具,它能幫你快速架設(shè)一套專屬的網(wǎng)盤服務(wù),可以像 Dropbox 那樣實(shí)現(xiàn)文件跨平臺同步、共享、版本控制、團(tuán)隊(duì)協(xié)作等等。
然而在VPS上搭建ownCloud是一件費(fèi)時費(fèi)力的工作,除此之外更需要考慮數(shù)據(jù)的可靠性、備份等工作。
本文將利用阿里云容器服務(wù)在幾分鐘內(nèi)輕松搭建一個基于Docker的ownCloud專屬網(wǎng)盤,并使用阿里云提供的對象存儲OSS(Object Storage Service)作為高可靠、低成本的云存儲后端。
創(chuàng)建 對象存儲OSS bucket
首先你需要創(chuàng)建一個和容器服務(wù)處于同一區(qū)域中的bucket,這樣容器應(yīng)用可以通過內(nèi)網(wǎng)地址來訪問bucket中存儲的文件數(shù)據(jù),提升訪問速度并節(jié)省公網(wǎng)帶寬
創(chuàng)建 對象存儲OSS 數(shù)據(jù)卷
數(shù)據(jù)卷是Docker提供的容器儲存模型:可以實(shí)現(xiàn)容器和數(shù)據(jù)生命周期的解耦,當(dāng)容器被刪除或重建之后數(shù)據(jù)依然存在;提供了可擴(kuò)展的插件機(jī)制,支持不同的存儲實(shí)現(xiàn)。
阿里云容器服務(wù)內(nèi)置了針對阿里云的數(shù)據(jù)卷驅(qū)動,支持不同類型的云存儲服務(wù):包括NAS(文件存儲服務(wù) NFS),OSS(對象存儲服務(wù),OSSFS)和云盤(即將推出)。關(guān)于數(shù)據(jù)卷的詳細(xì)信息可以參閱幫助文檔。http://click.aliyun.com/m/10899/。
OSSFS(http://click.aliyun.com/m/10900/) 能把對象存儲OSS bucket掛載到本地像訪問本地文件一樣操作云端存儲數(shù)據(jù),非常適合文件存儲類型的應(yīng)用。我們可以在容器服務(wù)控制臺的“數(shù)據(jù)卷”頁面,方便地為指定集群創(chuàng)建一個“OSS”類型的數(shù)據(jù)卷
配置如下:
·數(shù)據(jù)卷名:owncloud ,也可以選擇其他值,這個需要和下文模板中引用volume保持一致
·AccessKey ID和AccessKey Secret:可以從當(dāng)前用戶賬號的“accesskeys”中獲得
o
·其他參數(shù)值:輸入 -o noxattr 來提升數(shù)據(jù)卷性能
·訪問域名:根據(jù)當(dāng)前集群的網(wǎng)絡(luò)方式,選擇“內(nèi)網(wǎng)域名”或者“VPC域名”來訪問對象存儲OSS bucket。
·文件緩存:選擇 打開 可以提升訪問性能
值得注意的是:對象存儲OSS和NAS類型的數(shù)據(jù)卷都是全局(global)數(shù)據(jù)卷,會出現(xiàn)在集群中任何一個節(jié)點(diǎn)上。如果容器指明了重新調(diào)度配置,即使所在節(jié)點(diǎn)掛掉,可以自動在其他健康節(jié)點(diǎn)上重新恢復(fù),而相同數(shù)據(jù)卷依然可以mount到容器指定目錄上,不會導(dǎo)致數(shù)據(jù)丟失。
創(chuàng)建編排模板
在編排模板列表頁面,創(chuàng)建如下編排模板
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應(yīng)用容器利用容器別名mysql來關(guān)聯(lián)MySQL容器。
·利用aliyun.routing.port_80: 'owncloud'標(biāo)簽指明了用于訪問網(wǎng)盤應(yīng)用的虛擬域名
·利用 volumes 中的數(shù)據(jù)卷映射,把我們創(chuàng)建出來的對象存儲OSS數(shù)據(jù)卷owncloud掛載到容器的/owncloud目錄。
使用編排模板部署ownCloud應(yīng)用
選擇編排模板,點(diǎn)擊部署應(yīng)用。片刻之后,應(yīng)用就會部署成功
選擇owncloud服務(wù),并點(diǎn)擊訪問端點(diǎn)
在瀏覽器中就可以看到ownCloud的配置界面了
輸入管理員賬號和密碼之后,選擇“存儲&數(shù)據(jù)庫”進(jìn)行配置。ownCloud 缺省會使用SQLite作為數(shù)據(jù)庫,并使用本地文件系統(tǒng)來保持?jǐn)?shù)據(jù)文件。請按如下界面修改配置
注意:
·數(shù)據(jù)目錄: 輸入 /owncloud/data 這里面/owncloud是對象存儲OSS bucket在容器中的掛載點(diǎn)
·配置數(shù)據(jù)庫:選擇 MySQL/MariaDB
·數(shù)據(jù)庫用戶:輸入 root
·數(shù)據(jù)庫密碼:輸入編排模板中對應(yīng)數(shù)據(jù)庫ROOT密碼
·數(shù)據(jù)庫名稱:輸入 owncloud
·數(shù)據(jù)庫地址:輸入 mysql 連接MySQL數(shù)據(jù)庫容器
點(diǎn)擊“安裝完成”,片刻之后下面的頁面會出現(xiàn)
使用ownCloud應(yīng)用
這時候你的專屬網(wǎng)盤就成功建立起來了。不但可以上傳文件,還可以為文件生成“分享鏈接”。
收到鏈接的小伙伴,就能看到你送來的滿滿的節(jié)日祝福了
ownCloud還有很多玩法,本文不再贅述。
總結(jié)
數(shù)據(jù)卷是Docker支持有狀態(tài)應(yīng)用的重要機(jī)制。合理選擇不同的數(shù)據(jù)卷類型可以讓你更好地管理應(yīng)用中的持久化數(shù)據(jù)。
阿里云容器服務(wù)完全兼容Docker數(shù)據(jù)卷機(jī)制,同時內(nèi)置了對阿里對象存儲OSS服務(wù)的支持,無需編程就可以使用不同的存儲能力。
想了解更多容器服務(wù)內(nèi)容,請?jiān)L問 http://click.aliyun.com/m/10901/
更多阿里云相關(guān): 阿里云官網(wǎng)阿里云服務(wù)器1000元阿里云新手禮包每周視頻直播技術(shù)分享