2016-10-04 73 views
0

在問這個問題之前,我已經閱讀了無聲的文章和stackoverflow的問題,但我無法爲我的設置得到正確的答案(也許它已經回答了)。這是我一直在努力實現它的體系結構。如何在多臺遠程機器上設置多主機網絡與docker swarm

  1. 我有三臺物理機器,我想設置多主機網絡的Docker羣,以便我可以運行docker-compose。

例如:

  1. 機1(泊塢羣管理器和包含Consoul)(192.168.5.11)
  2. 機2(泊塢羣節點)(192.168.5.12)
  3. 機3 (Docker Swarm Node)(192.168.5.13)

而且我需要從任何其他單獨的機器運行docker-compose。

我試過Docker article,但在那篇文章中,它使用docker-machine和virtual box在同一物理機器下進行設置。我如何在三臺遠程機器上實現上述目標。任何幫助讚賞。

回答

4

最新版本的Docker內置了Swarm Mode,所以你不需要領事。

要設置您的箱子,請確保它們都具有1.12或更高的docker version,然後您只需要初始化羣體並加入它。

機器1個執行命令

docker swarm init --advertise-addr 192.168.5.11 

的輸出,將告訴你該命令在機器2和3運行,以將他們加入到羣。您將擁有一個獨特的羣集令牌,並且該命令類似於:

docker swarm join \ 
--token SWMTKN-1-49nj1... \ 
192.168.5.11:2377 

現在您擁有3節點羣。返回機器1,您可以創建一個多主機覆蓋網絡:

docker network create -d overlay my-app 

然後你通過deploying services運行在網絡中的工作負載。如果你想使用Compose和Swarm模式,你需要使用distributed application bundles - 目前只有Docker的實驗版本。

+0

謝謝埃爾頓的答案。我已經在使用Compose,並且我不想使用分佈式應用程序包。有沒有辦法在不同的主機上使用虛擬機設置羣集模式? –

+1

撰寫不支持swarm模式 - 基本上只是做'碼頭運行',所以如果你使用它,一切都會在swarm中的一個節點上運行。 [這個項目](https://github.com/ddrozdov/docker-compose-swarm-mode)值得一看 - 它需要一個Compose YAML並使用'service create'來處理羣集模式。 –

相關問題