2017-05-24 9 views
5

나는 가상 머신에 2 개의 코어 4GB 램 Centos가있는 도커를 가지고있다.레지스트리를 배포하는 동안 docker swarm의 "적합한 노드가 없습니다 (스케줄링 제약 조건이 1 노드에서 충족되지 않음)"문제를 해결하려면 어떻게해야합니까?

덤 (docker) 개인 레지스트리 (레지스트리 2.6.4)를 배포 할 때 서비스 상태가 이고 보류 중일 경우이 영원합니다. 내가 메시지에 docker inspect <<task_id>>를 사용하여 검사 할 때 내가 docker service ps <<registry_name>>

을 사용 그리고 나는이 "더 적합한 노드 (예약 제약 만족하지 노드 1)"을 얻지 않았다.

서비스 재시작 및 재배포를 시도했습니다.

해결 방법?

+0

해결책이 있습니까? –

+0

아니요, 설치가되지 않았습니다. 기계에 도커 설정을 다시 설치했습니다. – arul

답변

1

작성 파일에 정의 된 노드 레이블과 실제 노드에 정의 된 노드 레이블이 일치하지 않을 때이 문제가 자주 발생합니다. 잘못된 레이블 (예 : 오타)을 설정했거나 단순히 레이블을 잊어 버렸기 때문입니다 노드. 레이블 노드에

:

1) 각 대상 노드에 대해이 수행

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

2) 그들이 작성 파일에 정의 된 것과 일치해야합니다.

3) 예를 들어 관리자 노드

에 고정 표시기 서비스를 다시 시작합니다

작성 파일 : 나는 dummy_node라는 노드에서이 복제본을 배포 할 가정

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

:

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

그리고 관리자 노드에서 docker를 다시 시작하십시오.

마지막으로 배포 할 경우 dummy_node에서 dummycontainer가 실행되어야하며 두 단계에서 레이블이 올바르게 설정되었다고 가정해야합니다. 그렇지 않으면 당신이 받고있는 오류를 볼 수 있습니다.

감사합니다.

+0

안녕하세요, 응답 해 주셔서 감사합니다. 하지만 정상적인 서비스에서 스택없이이 문제가 발생했습니다. – arul