【问题标题】:Docker with Compose and SwarmDocker 与 Compose 和 Swarm
【发布时间】:2016-08-02 20:53:52
【问题描述】:

我正在尝试使用 compose 和 swarm 设置我的服务器基础架构。基本上我想要一个设置(几乎)从 Docker 网站上的 Digital Ocean droplets 镜像这个示例。

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 ps 会表明...

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多