2016-08-10 6 views
1

gitlab CI 러너를 사용하여 고정 이미지를 만들고이를 개인 레지스트리로 푸시하고 싶습니다. CI 러너는 docker:latest을 사용하고 컨테이너에 /var/run/docker.sock을 마운트했습니다.탑재 된 docker.sock 로그인이 저장되지 않았습니다.

docker login -u myuser -p mypass registry.mydomain.com:5000이 작동하고 로그인 성공이라고 표시되지만 다음 명령에서 빌드 된 이미지를 푸시하려고하면 unauthorized: authentication required이 표시됩니다.

도커가 로그인을 레지스트리에 저장하는 위치는 어디입니까? 호스트 docker.sock에 탑재되는 도커 컨테이너가있는 사용자 지정 레지스트리로 푸시 할 수 있습니까?

단계 재현 :

docker run -ti -v /var/run/docker.sock:/var/run/docker.sock docker sh 
docker login -u username -p password registry.myhost.com:5000 
docker build -t registry.myhost.com:5000/namespace/user:latest . 
docker push registry.myhost.com:5000/namespace/user:latest 

답변

0

부두 노동자의 매장에서 레지스트리에 토큰 로그인 :

${HOME}/.docker/config.json 

같은 사용자로부터 하나의 스크립트로 모든 명령을 실행하는 경우, 제한적인 프록시 또는 방화벽이 있거나 개인 레지스트리가 어떤 식 으로든 잘못 구성되었을 수 있습니다.

+1

예 개인 레지스트리 사용자가 읽기 전용으로 구성되었음을 알았습니다. 힌트를위한 Thx –