[트러블슈팅] docker swarm 워커노드 이미지 pull - f-lab-edu/jshop GitHub Wiki

문제

docker swarm에서 워커노드에서 이미지 pull이 되지 않는 문제가 있었다.

직접 접속해 pull을 할때는 문제가 없었지만, service update 로 이미지를 업데이트 할때 pull을 하지 못하는 문제였다.

docker service update --image {image} {stack_name}

원인

이는 private reposigory 에서 이미지를 당겨올때 생기는 문제라 한다.

해결

image update 시에 --with-registry-auth 옵션을 주게되면, 마스터의 인증정보로 업데이트가 진행되게 된다.

docker service update --image {image} {stack_name} --with-registry-auth

이를 위해 파이프라인에서도 마스터에 명령을 주기 전에 레지스트리(NCR)에 로그인을 하고 진행한다.

이후 이 인증정보를 worker 노드에게 전달해 줌으로, worker node에서도 정상적으로 이미지 pull이 가능했다.