如何在docker swarm集群中的同一台机器上运行两个映像

时间:2018-04-23 00:55:40

标签: docker docker-compose docker-swarm

我使用docker swarm和几台机器和几个图像。特别是,我有数据库和容器,它支持备份。我需要在同一台机器上启动它们。我如何用docker-compose设置它?

version: "3"
services:
    my_mongodb:
        image: mongo
        environment:
          - MONGO_DATA_DIR=${DATA_DIR}
        networks:
         - webnet
    my_backup:
        image: mybackup
        environment:
          - MONGO_DATA_DIR=${DATA_DIR}
   #other images

1 个答案:

答案 0 :(得分:0)

您可以向my_backup环境添加关联过滤器:

my_backup:
    image: my backup
    environment:
      - MONGO_DATA_DIR=${DATA_DIR}
      - "affinity:image==mongo"

不幸的是,没有“亲和力:服务”,这将使这种事情变得非常容易。您可以在docker docs for swarm scheduler filters

中详细了解过滤器

还有一个关于在this issue in the docker/swarmkit GitHub回购中支持affinity:service过滤器的有趣讨论。