2016-08-02 123 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

每个图像被下载到每一个节点。这样,如果一个容器需要在不同的节点上重新启动,则该映像可用。但是,服务不会在每个节点上启动,因此只使用磁盘空间,不使用其他资源。