我目前正在尝试使用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个可用。
我究竟做错了什么?感谢。
答案 0 :(得分:4)
你应该试试这个:
redis:
image: redis
environment:
- "affinity:container!=*redis*"
labels:
- "com.myself.name=redis"
这应该有效!
请让我知道
答案 1 :(得分:0)
试试这个docker撰写文件
redis:
image: redis
environment:
- affinity:com.myself.name!=redis
labels:
- "com.myself.name=redis"