使用 Docker 構建 Nebula Graph 源碼
Nebula Graph 介紹
Nebula Graph?是開源的高性能分布式圖數據庫。項目使用 C++ 語言開發,cmake?工具構建。其中兩個重要的依賴是 Facebook 的 Thrift RPC 框架和?folly 庫.
由于項目采用了 C++ 14 標準開發,需要使用較新版本的編譯器和一些三方庫。雖然 Nebula Graph 官方給出了一份開發者構建指南,但是在本地構建完整的編譯環境依然不是一件輕松的事。
開發環境構建
Nebula Graph 依賴較多,且一些第三方庫需本地編譯安裝,為了方便開發者本地編譯項目源碼, Nebula Graph 官方為大家提供了一個預安裝所有依賴的 [docker 鏡像](docker hub)。開發者只需如下的三步即可快速的編譯 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
感謝社區伙伴@阿東?提的建議,把上面的 {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?#?執行單元測試
提醒
Nebula 項目目前主要采用靜態依賴的方式編譯,加上附加的一些調試信息,所以生產的一些可執行文件會比較占用磁盤空間,建議小伙伴預留 20G 以上的空閑空間給 Nebula 目錄 :)
Docker 加速小 Tips
由于 Docker 鏡像文件存儲在國外,在 pull 過程中會遇到速度過慢的問題,這里 Nebula Graph 提供一種加速 pull 的方法:通過配置國內地址解決,例如:
Azure 中國鏡像?https://dockerhub.azk8s.cn
七牛云?https://reg-mirror.qiniu.com
Linux 圖友可在?/etc/docker/daemon.json?中加入如下內容(若文件不存在,請新建該文件)
{??"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。
Nebula Graph 社區
Nebula Graph 社區是由一群愛好圖數據庫,共同推進圖數據庫發展的開發者構成的社區。
本文由 Nebula Graph 社區 Committer 伊興路貢獻,也歡迎閱讀本文的你參與到 Nebula Graph 的開發,或向 Nebula Graph 投稿。
Docker 鏡像服務
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。