加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

如何在部署注册表时解决此问题“docker swarm中没有合适的节点(1

发布时间:2020-12-14 04:24:02 所属栏目:Windows 来源:网络整理
导读:我在一个虚拟机中有一个docker swarm,有两个4GB内存的Centos. 在我部署docker私有注册表(注册表2.6.4)时,它将服务状态显示为永久挂起. 我用了 docker service ps registry_name 当我使用docker inspect检查 task_id在消息中我得到了这个 “没有合适的节点(在
我在一个虚拟机中有一个docker swarm,有两个4GB内存的Centos.

在我部署docker私有注册表(注册表2.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)确保它们与compose文件中定义的匹配.

3)在管理器节点中重启docker service

例如:

撰写文件:

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'

并在管理器节点中重新启动docker.

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

最好的祝福

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读