linux下使用Docker和OSS輕松搭建ownCloud專屬網(wǎng)盤(網(wǎng)盤關閉不用怕)
文件共享是團隊協(xié)作的剛需,面對說停就停的網(wǎng)盤服務,很多同學除了心塞已經(jīng)開始盤算搭建自己的網(wǎng)盤應用了。
ownCloud 是一個開源免費的存儲管理工具,它能幫你快速架設一套專屬的網(wǎng)盤服務,可以像 Dropbox 那樣實現(xiàn)文件跨平臺同步、共享、版本控制、團隊協(xié)作等等。
然而在VPS上搭建ownCloud是一件費時費力的工作,除此之外更需要考慮數(shù)據(jù)的可靠性、備份等工作。
本文將利用阿里云容器服務在幾分鐘內(nèi)輕松搭建一個基于Docker的ownCloud專屬網(wǎng)盤,并使用阿里云提供的OSS(Object Storage Service,對象存儲服務)作為高可靠、低成本的云存儲后端。
創(chuàng)建 OSS bucket
首先你需要創(chuàng)建一個和容器服務處于同一區(qū)域中的bucket,這樣容器應用可以通過內(nèi)網(wǎng)地址來訪問bucket中存儲的文件數(shù)據(jù),提升訪問速度并節(jié)省公網(wǎng)帶寬
創(chuàng)建 OSS 數(shù)據(jù)卷
數(shù)據(jù)卷是Docker提供的容器儲存模型:可以實現(xiàn)容器和數(shù)據(jù)生命周期的解耦,當容器被刪除或重建之后數(shù)據(jù)依然存在;提供了可擴展的插件機制,支持不同的存儲實現(xiàn)。
阿里云容器服務內(nèi)置了針對阿里云的數(shù)據(jù)卷驅(qū)動,支持不同類型的云存儲服務:包括NAS(文件存儲服務 NFS),OSS(對象存儲服務,OSSFS)和云盤(即將推出)。關于數(shù)據(jù)卷的詳細信息可以參閱幫助文檔
OSSFS 能把OSS bucket掛載到本地像訪問本地文件一樣操作云端存儲數(shù)據(jù),非常適合文件存儲類型的應用。我們可以在容器服務控制臺的“數(shù)據(jù)卷”頁面,方便地為指定集群創(chuàng)建一個“OSS”類型的數(shù)據(jù)卷
配置如下: 數(shù)據(jù)卷名: owncloud ,也可以選擇其他值,這個需要和下文模板中引用volume保持一致
AccessKey ID和AccessKey Secret:可以從當前用戶賬號的“accesskeys”中獲得
其他參數(shù)值:輸入 -o noxattr 來提升數(shù)據(jù)卷性能
訪問域名:根據(jù)當前集群的網(wǎng)絡方式,選擇“內(nèi)網(wǎng)域名”或者“VPC域名”來訪問OSS bucket。
文件緩存:選擇 打開 可以提升訪問性能
值得注意的是:OSS和NAS類型的數(shù)據(jù)卷都是全局(global)數(shù)據(jù)卷,會出現(xiàn)在集群中任何一個節(jié)點上。如果容器指明了重新調(diào)度配置,即使所在節(jié)點掛掉,可以自動在其他健康節(jié)點上重新恢復,而相同數(shù)據(jù)卷依然可以mount到容器指定目錄上,不會導致數(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應用容器利用容器別名 mysql 來關聯(lián)MySQL容器。 利用 aliyun.routing.port_80: 'owncloud' 標簽指明了用于訪問網(wǎng)盤應用的虛擬域名 利用 volumes 中的數(shù)據(jù)卷映射,把我們創(chuàng)建出來的OSS數(shù)據(jù)卷 owncloud 掛載到容器的 /owncloud 目錄。使用編排模板部署ownCloud應用
選擇編排模板,點擊部署應用。片刻之后,應用就會部署成功
選擇owncloud服務,并點擊訪問端點
在瀏覽器中就可以看到ownCloud的配置界面了
輸入管理員賬號和密碼之后,選擇“存儲&數(shù)據(jù)庫”進行配置。ownCloud 缺省會使用SQLite作為數(shù)據(jù)庫,并使用本地文件系統(tǒng)來保持數(shù)據(jù)文件。請按如下界面修改配置
注意:
數(shù)據(jù)目錄: 輸入 /owncloud/data 這里面/owncloud是OSS bucket在容器中的掛載點 配置數(shù)據(jù)庫:選擇 MySQL/MariaDB 數(shù)據(jù)庫用戶: 輸入 root 數(shù)據(jù)庫密碼: 輸入編排模板中對應數(shù)據(jù)庫ROOT密碼 數(shù)據(jù)庫名稱: 輸入 owncloud 數(shù)據(jù)庫地址: 輸入 mysql 連接MySQL數(shù)據(jù)庫容器
點擊“安裝完成”,片刻之后下面的頁面會出現(xiàn)
使用ownCloud應用
這時候你的專屬網(wǎng)盤就成功建立起來了。不但可以上傳文件,還可以為文件生成“分享鏈接”。
收到鏈接的小伙伴,就能看到你送來的滿滿的節(jié)日祝福了
ownCloud還有很多玩法,本文不再贅述。
總結
數(shù)據(jù)卷是Docker支持有狀態(tài)應用的重要機制。合理選擇不同的數(shù)據(jù)卷類型可以讓你更好地管理應用中的持久化數(shù)據(jù)。
阿里云容器服務完全兼容Docker數(shù)據(jù)卷機制,同時內(nèi)置了對阿里云存儲服務的支持,無需編程就可以使用不同的存儲能力。
- Linux平臺搭建docker環(huán)境并簡單使用示例
- Linux搭建Docker環(huán)境全過程
- 阿里云Linux CentOS 7 Docker部署使用gogs搭建自己的git服務器
- Linux服務器搭建nvidia-docker環(huán)境過程詳解
- Linux環(huán)境下使用Docker搭建Jenkins容器的方法步驟
- Linux搭建Docker環(huán)境的詳細過程(最新推薦)
- 如何使用Docker和cpolar在Linux服務器上搭建DashDot監(jiān)控面板
- Linux如何使用docker方式搭建SQL Server
- 使用docker搭建嵌入式Linux開發(fā)環(huán)境
相關文章
Apache 內(nèi)容動態(tài)緩沖模塊 mod_cache應用
mod_cache是apache中基于URI鍵的內(nèi)容動態(tài)緩沖(內(nèi)存或磁盤),從Apache2.2起,mod_cache和mod_file_cache將不再是試驗模塊,它們已經(jīng)足夠穩(wěn)定,可以用于實際生產(chǎn)中了。2013-10-10在Linux終端中統(tǒng)計非二進制文件行數(shù)的實現(xiàn)方法
在Linux系統(tǒng)中,有時需要統(tǒng)計非二進制文件(如CSV、TXT文件)的行數(shù),而不希望手動打開文件進行查看,例如,在處理大型日志文件、數(shù)據(jù)文件時,了解文件的行數(shù)可以幫助我們更好地評估數(shù)據(jù)量,進行后續(xù)的數(shù)據(jù)處理和分析,需要的朋友可以參考下2025-06-06