2017-01-19 26 views
2

過去3天,我一直在閱讀大量關於最近在其引擎中構建的「新」Docker羣的文章和文檔。創建Docker羣的方式差異

在確定了創建swarm(無論是本地還是雲提供商)的幾種方法之後,我無法理解這些方法之間的差異以及何時使用這兩種方法的混淆。

下面是創建我迄今確定了羣的方法:

方法1

docker-machine create -d virtualbox swarm-manager 
docker-machine create -d virtualbox swarm-worker-1 
docker-machine create -d virtualbox swarm-worker-2 

manager_ip=$(docker-machine ip swarm-manager) 
swarm_join_command="docker swarm join --token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c 192.168.99.100:2377" 

docker-machine ssh swarm-manager "docker swarm init --advertise-addr $manager_ip" 

docker-machine ssh swarm-worker-1 "${swarm_join_command}" 
docker-machine ssh swarm-worker-2 "${swarm_join_command}" 

方法2

docker-machine create -d virtualbox token 

token=$(docker-machine ssh token "docker run swarm create" | tail -n 1) 

docker-machine create -d virtualbox \ 
--swarm --swarm-master \ 
--swarm-discovery token://${token} \ 
master-node 

docker-machine create -d virtualbox \ 
--swarm --swarm-discovery token://${token} \ 
node-01 

我排除領事因爲似乎不再需要。

  1. 這些方法有什麼區別?
  2. 我應該什麼時候使用一個?

回答

2

令人困惑的是Docker Swarm有兩個實現。第一個作爲容器運行,第二個作爲v1.12發行版的一部分集成到docker Engine中。

所以擁抱方法1.下面的示例創建一個HA設置了多個經理:


older Swarm documentation包含以下內容:

你正在查看傳統獨立文檔蟲羣。這些主題 描述了獨立的Docker Swarm。如果您使用Docker 1.12或更高版本, Swarm模式與Docker Engine集成。大多數用戶應該使用 集成Swarm模式 - 一個好的開始是 swarm模式和Swarm模式CLI命令入門。獨立Docker Swarm不是 集成到Docker Engine API和CLI命令中。

+1

也這麼想,但只是確保。我相信你可以理解爲什麼這會造成混亂 – Alex