這篇文章主要介紹如何使用Docker構建Nebula Graph源碼,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)公司專注于企業(yè)網(wǎng)絡營銷推廣、網(wǎng)站重做改版、西峽網(wǎng)站定制設計、自適應品牌網(wǎng)站建設、H5頁面制作、成都做商城網(wǎng)站、集團公司官網(wǎng)建設、成都外貿(mào)網(wǎng)站建設、高端網(wǎng)站制作、響應式網(wǎng)頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為西峽等各大城市提供網(wǎng)站開發(fā)制作服務。
Nebula Graph 是開源的高性能分布式圖數(shù)據(jù)庫。項目使用 C++ 語言開發(fā),cmake
工具構建。其中兩個重要的依賴是 Facebook 的 Thrift RPC 框架和
folly 庫.
由于項目采用了 C++ 14 標準開發(fā),需要使用較新版本的編譯器和一些三方庫。雖然 Nebula Graph 官方給出了一份 開發(fā)者構建指南,但是在本地構建完整的編譯環(huán)境依然不是一件輕松的事。
Nebula Graph 依賴較多,且一些第三方庫需本地編譯安裝,為了方便開發(fā)者本地編譯項目源碼, Nebula Graph 官方為大家提供了一個預安裝所有依賴的 docker 鏡像)。開發(fā)者只需如下的三步即可快速的編譯 Nebula Graph 工程,參與 Nebula Graph 的開源貢獻:
本地安裝好 Docker
將
vesoft/nebula-dev
鏡像
pull
到本地
$ docker pull vesoft/nebula-dev
運行
Docker
并掛載 Nebula 源碼目錄到容器的
/home/nebula
目錄
$ docker run --rm -ti -v {nebula-root-path}:/home/nebula vesoft/nebula-dev bash
感謝社區(qū)伙伴 @阿東 提的建議,把上面的 {nebula-root-path} 替換成你 Nebula Graph 實際 clone 的目錄
為了避免每次退出 docker 容器之后,重新鍵入上述的命令,我們在
vesoft-inc/nebula-dev-docker 中提供了一個簡單的
build.sh
腳本,可通過
./build.sh /path/to/nebula/root/
進入容器。
使用
cmake
構建 Nebula 工程
docker> mkdir _build && cd _build docker> cmake .. && make -j2 docker> ctest # 執(zhí)行單元測試
Nebula 項目目前主要采用靜態(tài)依賴的方式編譯,加上附加的一些調試信息,所以生產(chǎn)的一些可執(zhí)行文件會比較占用磁盤空間,建議小伙伴預留 20G 以上的空閑空間給 Nebula 目錄 :)
由于 Docker 鏡像文件存儲在國外,在 pull 過程中會遇到速度過慢的問題,這里 Nebula Graph 提供一種加速 pull 的方法:通過配置國內(nèi)地址解決,例如:
Azure 中國鏡像 https://dockerhub.azk8s.cn
七牛云 https://reg-mirror.qiniu.com
Linux 圖友可在
/etc/docker/daemon.json
中加入如下內(nèi)容(若文件不存在,請新建該文件)
{ "registry-mirrors": [ "https://dockerhub.azk8s.cn", "https://reg-mirror.qiniu.com" ] }
macOS 用戶請點擊
Docker Desktop 圖標 -> Preferences -> Daemon -> Registry mirrors
。 在列表中添加
https://dockerhub.azk8s.cn
和
https://reg-mirror.qiniu.com
。修改后,點擊 Apply & Restart 按鈕, 重啟 Docker。
以上是“如何使用Docker構建Nebula Graph源碼”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!