在墻里的同學(xué)們不難發(fā)現(xiàn),現(xiàn)在除了百度云以外,國(guó)內(nèi)幾乎沒(méi)有什么公開的云盤服務(wù)了,有時(shí)我們想在自己的不同設(shè)備之間、或者給客戶共享點(diǎn)資料非常困難,試想一下如果能有自己私有云存儲(chǔ),并且能支持自動(dòng)同步本地?cái)?shù)據(jù)還能輕松與他人共享,是件多面嗨皮的事。本文介紹一下如何利用華為云,基于Docker+Seafile搭建私人云存儲(chǔ)。
開通華為云服務(wù)
工欲善其事,必先利其器。如何購(gòu)買華為云,這里就不贅述了,詳見官網(wǎng)介紹,總之乖乖按照官方指引輕松幾步就搞定。筆者雙11把手打折了,索性只買了1C1G的彈性云服務(wù)器(首月只要30+元),預(yù)裝了Centos7.2操作系統(tǒng)。通過(guò)“管理控制臺(tái)”進(jìn)入彈性云服務(wù)器界面,可以遠(yuǎn)程登錄主機(jī),如下圖所示。

安裝Docker平臺(tái)
使用共有云的一個(gè)好處就是OS創(chuàng)建好了以后什么都不需要配置就可以連接公網(wǎng),比在自家電腦上搭VM方便千百倍。彈性云服務(wù)器已經(jīng)配置好了國(guó)內(nèi)的yum源,通過(guò)yum安裝docker只需要一個(gè)命令即可
yum install -y docker
安裝完成后,執(zhí)行如下命令啟動(dòng)docker平臺(tái),并查看執(zhí)行結(jié)果
service docker start
docker ps

部署Seafile容器
Seafile是業(yè)界比較有名的開源云存儲(chǔ)應(yīng)用服務(wù),Docker Hub上有現(xiàn)成的鏡像,詳情參見。
執(zhí)行pull拉取鏡像:
docker pull docker.io/jenserat/seafile
不到一分鐘鏡像就拉取到本地了?;谶@個(gè)鏡像首次創(chuàng)建容器需要讓容器從網(wǎng)關(guān)拉取一些額外的配置文件,運(yùn)行如下命令創(chuàng)建容器,并開啟交互模式:
docker run -t -i \
-p 10001:10001 \
-p 12001:12001 \
-p 8000:8000 \
-p 8080:8080 \
-p 8082:8082 \
-v /srv/seafile:/opt/seafile \
jenserat/seafile -- /bin/bash
此命令將容器內(nèi)的/opt/seafile映射到宿主機(jī)的/srv/seafile目錄,用于保存后續(xù)步驟下載的配置,另外映射了幾個(gè)端口到宿主機(jī),其中8000是訪問(wèn)UI用的,8082是上傳下載文件用的,其他端口不知道干嘛的。
- 容器啟動(dòng)后,在命令行執(zhí)行
download-seafile下載Seafile的主要配置文件 - 下載完成后,執(zhí)行
/opt/seafile/seafile-server-5.*/setup-seafile.sh執(zhí)行安裝向?qū)?,記住不要修改默認(rèn)的存儲(chǔ)位置,其他看情況改。 - 執(zhí)行
/opt/seafile/seafile-server-latest/seafile.sh start來(lái)啟動(dòng)Seafile主進(jìn)程 - 執(zhí)行
/opt/seafile/seafile-server-latest/seahub.sh啟動(dòng)WEB UI - 配置完成后執(zhí)行
exit退出。
以上是首次啟動(dòng)容器的步驟,接下來(lái)就不需要這么麻煩了,執(zhí)行如下命令啟動(dòng)終極容器,不需要交互式命令,用-d參數(shù)讓他在后臺(tái)安靜的跑。
docker run -d \
--name seafile \
-p 10001:10001 \
-p 12001:12001 \
-p 8000:8000 \
-p 8080:8080 \
-p 8082:8082 \
-v /srv/seafile:/opt/seafile \
-e autostart=true \
jenserat/seafile
設(shè)置安全組
到這里我們就已經(jīng)在彈性云服務(wù)器上部署好了一個(gè)Seafile私有云存儲(chǔ),這時(shí)候我們嘗試訪問(wèn)這臺(tái)機(jī)器的8000端口,你會(huì)發(fā)現(xiàn)端口沒(méi)有響應(yīng)。這是因?yàn)樵浦鳈C(jī)為了安全考慮自動(dòng)設(shè)置了VPC(虛擬子網(wǎng))和安全組,也就相當(dāng)于我們說(shuō)的防火墻,接下來(lái)需要在安全組里加上相應(yīng)的規(guī)則,讓云主機(jī)放通我們的服務(wù)端口。
打開“管理控制臺(tái)”頁(yè)面,選擇“網(wǎng)絡(luò)”->“私有云”,選擇“安全組”,如下圖
選擇“新建安全組”,添加規(guī)則,將我們要用到的端口都添加到“入方向”

此時(shí)我們?cè)賴L試訪問(wèn)服務(wù)器的8000端口,如:http://122.112.204.xxx:8000,就能看到Seafile的登錄界面了,用我們前面初始化的管理賬號(hào)即可登錄


之后我們就可以盡情的享受私有云存儲(chǔ)帶來(lái)的便利了,從Seafile官網(wǎng)上可以下載到Windows、Mac等的客戶端,輕松實(shí)現(xiàn)本地文件自動(dòng)同步,一點(diǎn)不遜色百度云盤。
綁定域名
如果覺(jué)得通過(guò)IP訪問(wèn)不夠便利,還可以自己申請(qǐng)一個(gè)域名,然后通過(guò)配置DNS解析直接通過(guò)域名訪問(wèn),這類教程網(wǎng)上一搜一大把,租個(gè)域名一年不過(guò)也就幾十塊錢。綁好域名后的效果類似于

大功告成