CentOS7 部署Docker&搭建OwnCloud私人云盤服務(wù)

前言

相信大家都用過網(wǎng)盤,比如國外有 Google Drive农曲、Dropbx社搅、OneDrive等,國內(nèi)有 百度云盤堅(jiān)果云等罚渐,這些都是公共網(wǎng)盤却汉,由于公司業(yè)務(wù)需要,想架設(shè)公司自己用的私有網(wǎng)盤荷并。

目前市面上,穩(wěn)定青扔、成熟的私有云存儲方案有:

Seafile:國內(nèi)團(tuán)隊(duì)開發(fā)的一個國際化開源云存儲項(xiàng)目
ownCloud:開源專業(yè)的私有云存儲項(xiàng)目

另外源织,可以多去關(guān)注下 nextcloud 項(xiàng)目,據(jù)說 ownCloud 母公司破產(chǎn)后微猖,原項(xiàng)目組的骨干出走并以 ownCloud 項(xiàng)目 folk 出新項(xiàng)目 nextcloud 繼續(xù)開發(fā)谈息。需要說明的是,ownCloud 母公司后來被一家德國公司收購了凛剥,ownCloud 項(xiàng)目還在繼續(xù)開發(fā)侠仇。

這里主要介紹 ownCloud 的搭建。

ownCloud介紹

ownCloud 是開源的犁珠、免費(fèi)的逻炊、專業(yè)的私有云存儲解決方案,以 AGPL 許可發(fā)布犁享,它能幫你快速地在服務(wù)器上架設(shè)一套專屬的私有云文件同步網(wǎng)盤余素,可以像 Dropbox 那樣實(shí)現(xiàn)文件跨平臺同步、共享與團(tuán)隊(duì)協(xié)作等炊昆。

ownCloud 支持 Windows/Mac桌面端桨吊,IOS/Android手機(jī)端》锞蓿基本可以替代在線網(wǎng)盤如百度網(wǎng)盤等视乐。

Docker簡介:

Docker 是個進(jìn)程級的輕量化虛擬機(jī),從狹義上來講就是一個進(jìn)程敢茁,從廣義上來講是一個虛擬容器佑淀,或者叫應(yīng)用容器( Application Container )

Docker 中有三個核心概念:Image、Container卷要、Repository渣聚。

  1. Image:和 Windows 的那種 ISO 鏡像相比,Docker 中的鏡像是分層的僧叉,可復(fù)用的奕枝,而非簡單的一堆文件迭在一起(類似于一個壓縮包的源碼和一個 Git 倉庫的區(qū)別)。

  2. Container: 容器的存在離不開鏡像的支持瓶堕,他是鏡像運(yùn)行時(shí)的一個載體(類似于實(shí)例和類的關(guān)系)隘道。依托 Docker 的虛擬化技術(shù),給容器創(chuàng)建了獨(dú)立的端口、進(jìn)程谭梗、文件等“空間”忘晤,Container 就是一個與宿機(jī)隔離 “容器”。容器可宿主機(jī)之間可以進(jìn)行 port激捏、volumes设塔、network 等的通信。

  3. Repository: Docker 的倉庫和 Git 的倉庫比較相似远舅,擁有倉庫名闰蛔、tag。在本地構(gòu)建完鏡像之后图柏,即可通過倉庫進(jìn)行鏡像的分發(fā)序六。常用的 Docker hub 有 https://hub.docker.com/https://cr.console.aliyun.com/ 等蚤吹。

    傳統(tǒng)虛擬機(jī)

Docker相對于VM有以下幾個優(yōu)點(diǎn):

  1. 啟動速度快例诀,容器啟動本質(zhì)就是一個開啟一個進(jìn)程而已,因此都是秒啟裁着,而 VM 通常要更久

  2. 資源利用率高繁涂,一臺普通 PC 可以跑成百上千個容器,你跑十個 VM 試試跨算。

  3. 性能開銷小爆土, VM 通常需要額外的 CPU 和內(nèi)存來完成 OS 的功能,這一部分占據(jù)了額外的資源

總之Docker和傳統(tǒng)的虛擬機(jī)有著非常大的區(qū)別诸蚕,下面就來部署一臺Docker研究研究

0:環(huán)境檢查

安裝之前步势,我們首先確保自己的 Linux 系統(tǒng)內(nèi)核版本高于3.10,并且系統(tǒng)是64位背犯,才能體驗(yàn) Docker 坏瘩。

通過 uname -ir 查看是否滿足要求。

>>uname -ir

安裝docker

服務(wù)器系統(tǒng)是:CentOS6.5漠魏,在此系統(tǒng)中安裝docker倔矾,請參考前面的文章:CentOS 7.x 上搭建docker

拉取ownCloud官方鏡像

ownCloud的官方docker鏡像頁面
這個鏡像,已經(jīng)集成了 Apache + PHP 的環(huán)境柱锹。目前版本是:10.0.1哪自。

docker pull owncloud

需要用root用戶拉取,否則會有警告:

Warning: failed to get default registry endpoint from daemon (Cannot connect to the Docker daemon. Is the docker daemon running on this host?). Using system default: https://index.docker.io/v1/
Cannot connect to the Docker daemon. Is the docker daemon running on this host?

改用MySQL數(shù)據(jù)庫

owncloud 默認(rèn)使用 SQLite 數(shù)據(jù)庫禁熏,但對于更大的安裝壤巷,官方建議選擇另外一個不同的數(shù)據(jù)庫,特別當(dāng)使用桌面客戶端同步文件時(shí)瞧毙,不鼓勵使用 SQLite胧华。

拉取 mysql 官方docker鏡像(目前最新是: 5.7.19 )

docker pull mysql

啟動 MySQL 容器寄症,用作 owncloud 容器的數(shù)據(jù)庫。

docker run --name my-mysql -e MYSQL_ROOT_PASSWORD="Wjj+=64F" -d mysql

啟動 owncloud 容器

docker run --name owncloud -p 9090:80   -v /data/db/owncloud:/var/www/html/data --link my-mysql:mysql -d owncloud

-p 9090:80 :由于宿主機(jī)已開通80端口矩动,為了避免沖突有巧,將容器的80端口映射到宿主機(jī)的9090端口。
--link my-mysql:mysql :將 owncloud容器(客戶) 鏈接到 my-mysql容器(服務(wù))悲没,鏈接別名:mysql篮迎。

配置nginx反向代理

配置文件內(nèi)容如下:

upstream pan_server{
    server  127.0.0.1:9090;
}

server {
    listen   80;
    server_name pan.xxx.com;
    access_log /data/logs/nginx/pan.xxx.com.access.log;
    error_log /data/logs/nginx/pan.xxx.com.error.log;

    proxy_set_header X-Forwarded-For $remote_addr;

    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        add_header Cache-Control  "no-cache";
    
        proxy_pass http://pan_server;
        limit_rate 256m;
        client_max_body_size 0;
    }
}

配好域名解析。

安裝owncloud

在瀏覽器上訪問 pan.xxx.com檀训,進(jìn)入 owncloud 安裝步驟:


owncloud首頁

MySQL數(shù)據(jù)庫配置:

數(shù)據(jù)庫用戶:root
數(shù)據(jù)庫密碼:Wjj+=64F
數(shù)據(jù)庫名:owncloud

數(shù)據(jù)庫主機(jī):mysql 或 my-mysql

docker-compose 方式安裝

也可以將上面啟動 owncloud 和 mysql 容器的兩個步驟合成一步完成柑潦,這里介紹 docker-compose 的使用。

docker版本要求

想要用 docker-compose峻凫,docker版本必須大于等于 1.10.0,否則會報(bào)錯:

ERROR: The Docker Engine version is less than the minimum required by Compose. Your current project requires a Docker Engine of version 1.10.0 or greater.

docker-compose 安裝

compose 可以通過 Python 的 pip 工具進(jìn)行安裝览露,可以直接下載編輯好的二進(jìn)制文件使用荧琼,甚至直接運(yùn)行在 Docker 容器中。

pip install -U docker-compose

docker-compose.yml 文件編寫

version: '2'
services:
  owncloud:
    image: owncloud
    links: 
      - mysql:mysql
    volumes:
      - "/data/db/owncloud:/var/www/html/data"
    ports:
      - 5679:80
  mysql:
    image: mysql
    volumes:
      - "/data/db/mysql:/var/lib/mysql"
    ports:
      - 3306:3306
    environment:
      MYSQL_ROOT_PASSWORD: "Wjj+=64F"
      MYSQL_DATABASE: ownCloud

docker-compose 運(yùn)行和停止

注意:docker-compose 必須在 docker-compose.yml 文件所在目錄中執(zhí)行差牛,否則會報(bào)錯:

ERROR:
    Can't find a suitable configuration file in this directory or any
    parent. Are you in the right directory?

    Supported filenames: docker-compose.yml, docker-compose.yaml

docker-compose 后臺啟動

docker-compose up -d

docker-compose 查看狀態(tài)

docker-compose ps

docker-compose 停止和刪除

docker-compose stop
dcoker-compose rm

相當(dāng)上面兩條命令
dcoker-compose down
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末命锄,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子偏化,更是在濱河造成了極大的恐慌脐恩,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件侦讨,死亡現(xiàn)場離奇詭異驶冒,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)韵卤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進(jìn)店門骗污,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人沈条,你說我怎么就攤上這事需忿。” “怎么了蜡歹?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵屋厘,是天一觀的道長。 經(jīng)常有香客問我月而,道長汗洒,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任景鼠,我火速辦了婚禮仲翎,結(jié)果婚禮上痹扇,老公的妹妹穿的比我還像新娘。我一直安慰自己溯香,他們只是感情好鲫构,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著玫坛,像睡著了一般结笨。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上湿镀,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天炕吸,我揣著相機(jī)與錄音,去河邊找鬼勉痴。 笑死赫模,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蒸矛。 我是一名探鬼主播瀑罗,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼雏掠!你這毒婦竟也來了斩祭?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤乡话,失蹤者是張志新(化名)和其女友劉穎摧玫,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體绑青,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡诬像,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了时迫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片颅停。...
    茶點(diǎn)故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖掠拳,靈堂內(nèi)的尸體忽然破棺而出癞揉,到底是詐尸還是另有隱情,我是刑警寧澤溺欧,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布喊熟,位于F島的核電站,受9級特大地震影響姐刁,放射性物質(zhì)發(fā)生泄漏芥牌。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一聂使、第九天 我趴在偏房一處隱蔽的房頂上張望壁拉。 院中可真熱鬧谬俄,春花似錦、人聲如沸弃理。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽痘昌。三九已至钥勋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間辆苔,已是汗流浹背算灸。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留驻啤,地道東北人菲驴。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像骑冗,于是被迫代替她去往敵國和親谢翎。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評論 2 359

推薦閱讀更多精彩內(nèi)容