如何解决这个问题“没有合适的节点(调度约束不满意的1个节点)”在docker集群部署registry?

我有一个虚拟机中的一个docker swarm与2个核心4GB ram Centos。

在我部署Docker私有registry(registry2.6.4)时,它会显示服务状态为永久挂起 。 我使用docker service ps <<registry_name>>

而当我检查使用docker inspect <<task_id>>在消息我得到这个“没有合适的节点(调度约束不满足1节点)”。

我试过服务重启和重新部署。

如何解决这个问题?

当组合文件中定义的节点标签与实际节点中定义的节点标签之间存在不匹配时,我经常碰到这个问题,要么是因为我设置了错误的标签(例如打字错误),或者根本忘记标签节点。

要标记节点:

1)对于每个目标节点做:

docker-machine ssh <manager_node_name> 'docker node update --label-add <label_name>=<label_value> <target_node_name>'

2)确保它们与撰写文件中定义的匹配。

3)重新启动pipe理器节点中的docker服务

例如:

撰写文件:

  dummycontainer: image: group/dummyimage deploy: mode: replicated replicas: 1 placement: constraints: [node.labels.dummy_label == dummy] restart_policy: condition: on-failure 

假设我想将这个副本部署在名为dummy_node的节点中:

 docker-machine ssh manager_node 'docker node update --label-add dummy_label=dummy dummy_node' 

并重新启动pipe理器节点中的docker。

最后,如果你部署了,你应该预料dummycontainer在dummy_node中运行,假设在两个步骤中都正确地设置了标签。 否则,可以预见到你正在得到的错误。

最好的祝福