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



我使用带有多台机器和多个映像的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

可以将关联性筛选器添加到my_backup环境:

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

不幸的是,没有"亲和力:服务"可以使做这种事情变得非常容易。您可以在 swarm 调度程序过滤器的 docker 文档中了解有关过滤器的更多信息。

在docker/swarmkit GitHub 存储库中,这个问题中还有一个关于支持affinity:service过滤器的有趣讨论。

相关内容

最新更新