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