我使用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
答案 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
过滤器的有趣讨论。