2016-08-02 219 views
1

我正嘗試使用compose和swarm來設置我的服務器基礎結構。基本上我想有一個設置(非常多),這個示例來自數字海洋液滴上的Docker網站。Docker with Compose和Swarm

https://docs.docker.com/swarm/swarm_at_scale/deploy-app/

這是從運行碼頭工人,組成了輸出:

docker-compose up -d 
Creating network "scale_voteapp" with the default driver 
Creating volume "scale_db-data" with default driver 
Pulling db (postgres:9.4)... 
worker01: Pulling postgres:9.4... : downloaded 
dbstore: Pulling postgres:9.4... : downloaded 
frontend01: Pulling postgres:9.4... : downloaded 
frontend02: Pulling postgres:9.4... : downloaded 
Creating db 
Pulling redis (redis:latest)... 
dbstore: Pulling redis:latest... : downloaded 
frontend01: Pulling redis:latest... : downloaded 
frontend02: Pulling redis:latest... : downloaded 
worker01: Pulling redis:latest... : downloaded 
Creating redis 

由此看來,似乎每一個服務都越來越安裝每臺機器上...所以worker01將有Postgres的, redis等安裝在它上面,而不是像圖中暗示的那樣安裝工作站映像。

所以我的問題是非常正義的,這是怎麼回事,這是它應該如何工作?是否每個服務都映射到每臺機器上(如果是這樣的話,是每臺機器上運行的每項服務?)還是每個服務都映射到羣集中的單臺物理機器上?

乾杯, 亞倫

+0

從上面我們只看到容器圖像被下載到多臺機器。你爲什麼不檢查他們在哪裏運行,在哪些數字?我想'docker ps'會顯示... –

回答

2

每個圖像被下載到每一個節點。這樣,如果一個容器需要在不同的節點上重新啓動,則該映像可用。但是,服務不會在每個節點上啓動,因此只使用磁盤空間,不使用其他資源。