2016-03-03 48 views
0

我剛剛遇到了docker,並且正在瀏覽它的文檔以瞭解如何使用它在多個節點上分發java項目,同時使這個分發平臺獨立,即節點可以運行任何平臺。目前,我正在向不同的節點發送類,並假設這些節點具有與客戶端相同的環境,並在其上運行它們。我無法弄清楚如何做到這一點,任何建議將不勝感激。使用docker運行分佈式計算

+0

Docker不提供在不同平臺上運行項目的能力。 Docket本身只能在Linux上運行。您可以在其他平臺上運行它,但您需要虛擬化才能在虛擬機中運行Linux,並在那裏運行Docker。 – nstoitsev

回答

0

我做了類似的事情。根據我的愚見,Docker與否不是你最大的問題。但是,使用Docker鏡像可以爲您節省很多麻煩。

我們有一個構建管道,其中使用Maven構建了一個非常大的Java項目。這是一個單獨的大型JAR文件,其中包含我們需要在節點上運行的軟件。

但是我們的一些點頭也需要運行一些第三方軟件,比如Zookeeper和Cassandra。因此,在Maven構建之後,我們使用packer.io創建一個Docker鏡像,其中包含所有需要的組件,這些組件最終位於Web服務器上,只能從我們的私有云基礎架構內訪問。

如果我們想要推出我們的系統,我們使用Python腳本的組合,與OpenStack API對話並在我們的雲上創建虛擬機,以及在虛擬機內執行實際軟件配置的Puppet。我們的虛擬機是CentOS 7映像,所以Puppet實際上做的是添加Docker yum回購。然後通過yum安裝Docker,從我們的存儲庫服務器中提取Docker鏡像,最後使用自定義的bash腳本啓動我們的Docker鏡像。

對於這些步驟中的每一步,確實有更好的方法來完成它。