docker - 具有Compose和Swarm的Docker

标签 docker docker-compose docker-machine docker-swarm

我正在尝试使用compose和swarm设置服务器基础结构。基本上,我想从Docker网站上的Digital Ocean Droplet上镜像此示例(相当多)。

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

这是运行docker-compose up的输出:

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等,而不仅仅是如图中所示安装了worker镜像。

所以我的问题几乎就是,这是正在发生的事情,这是应该如何工作的?是每个服务都映射到每台机器上(如果是,每台机器上都运行着每个服务?),还是每个服务都映射到集群中的单个物理机上?

干杯,
亚伦

最佳答案

每个镜像都将下载​​到每个节点。这样,如果需要在其他节点上重新启动容器,则可以使用该镜像。但是,服务不会在每个节点上启动,因此仅使用磁盘空间,而没有其他资源。

关于docker - 具有Compose和Swarm的Docker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38730250/

相关文章:

bash - Docker 在 docker-compose up 上的主机中运行脚本

docker - 容器在 Windows Docker Toolbox 中的本地主机上不可用

java - jetty worker 。 Spring 申请。设置和获取环境变量

java - 无法使用 Java API 连接到在本地虚拟机上运行的 ElasticSearch Docker 集群

maven - docker-compose build 每次都下载一些 pom 依赖项

docker - 如何使用Docker Swarm模式在容器之间共享数据?

python-3.x - PyZMQ Dockerized pub sub - sub不会收到消息

node.js - 如何对与本地 mongodb 对话的 Node.js 进行 dockerize

mongodb - 使用 docker 和 fig 设置 mongodb 副本集的正确方法是什么?

linux - 如何获取在 Docker 容器中运行的进程的内存使用情况?