我目前正在尝试使用 Docker Swarm/Compose 在每台集群机器上分别生成 Redis 的容器实例。我目前正在使用 4 台机器作为示例。使用亲和标签的想法是确保两个 redis 实例不会被安排在同一台机器上。
起初,以下工作。
redis:
image: redis
environment:
AFFINITY: com.myself.name!=redis
labels:
- "com.myself.name=redis"
然而,在强制一些容器停止以模拟崩溃、将它们推回、关闭所有容器,然后最后使用 重新从头开始运行所有内容之后docker-compose scale redis=4
,我发现 redis 在同一台机器上运行了两个容器,即使集群中有 4 个可用。
我到底做错了什么?谢谢。