Docker Swarm – 在每台机器上安排容器

我目前正在尝试使用Docker Swarm / Compose在每个群集机器上分别生成一个Redis的容器实例。 我正在使用4台机器的例子。 使用亲和标签的想法是确保两个redis实例不会被安排在同一台机器上。

起初,以下工作。

redis: image: redis environment: AFFINITY: com.myself.name!=redis labels: - "com.myself.name=redis" 

然而,强制一些容器停止模拟崩溃,推回去,closures所有的容器,然后再次使用docker-compose scale redis=4运行一切,我发现redis在同一台机器上运行两个容器,尽pipe集群中有4个可用。

我究竟做错了什么? 谢谢。

你应该试试这个:

 redis: image: redis environment: - "affinity:container!=*redis*" labels: - "com.myself.name=redis" 

这应该工作!

请告诉我

试试这个docker写作文件

 redis: image: redis environment: - affinity:com.myself.name!=redis labels: - "com.myself.name=redis"