如何在 docker swarm 集群中 运行 同一台机器上的两个图像
How to run two images on same machine in docker swarm cluster
我使用 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"
不幸的是没有 "affinity:service" 可以很容易地做这种事情。您可以在 docker docs for swarm scheduler filters.
中了解有关过滤器的更多信息
在 this issue in the docker/swarmkit GitHub 存储库中也有关于支持 affinity:service
过滤器的有趣讨论。
我使用 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"
不幸的是没有 "affinity:service" 可以很容易地做这种事情。您可以在 docker docs for swarm scheduler filters.
中了解有关过滤器的更多信息在 this issue in the docker/swarmkit GitHub 存储库中也有关于支持 affinity:service
过滤器的有趣讨论。