2017-01-24 8 views
4

hub.docker.com에 리포지토리를 만들고 이제 내 자격 증명을 사용하여 이미지를 Dockerhub에 푸시하려고합니다. 내 사용자 이름과 암호를 사용해야하는지, 또는 docker 이미지를 푸시 할 수있는 액세스 토큰을 만들 수 있는지 궁금합니다.Dockerhub 용 액세스 토큰

내가하고 싶은 일은 Concourse의 docker-image 리소스를 사용하여 이미지를 Dockerhub에 푸시하는 것입니다. 따라서 내가 좋아하는 자격 증명을 구성해야합니다 :

type: docker-image 
source: 
    email: {{docker-hub-email}} 
    username: {{docker-hub-username}} 
    password: {{docker-hub-password}} 
    repository: {{docker-hub-image-dummy-resource}} 

을하고 나는 내 Dockerhub 암호를 사용하지 마십시오.

+0

비밀번호를 사용하지 않는 이유는 무엇입니까? –

답변

6

간단히 말해서, 당신은 할 수 없습니다. 당신에게 호소력을 줄 수있는 몇 가지 해결책이 있지만, 구조적 이유가 있음을 먼저 알기 위해 마음이 편할 수 있습니다.

리소스는 파이프 라인 수준에서 정의 된 sourceparams을 통해 구성됩니다 파일). 빌드의 이전 단계에서 get 단계 (입력이 없음)로 정보를 가져올 방법이 없기 때문에 모든 인증 정보를 정의해야합니다.

DockerHub 토큰에도 해당하는 "그리 오래되지 않은"(즉, 몇 시간 또는 며칠) 후에 베어러 토큰이 일반적으로 시간 초과되기 때문에 콩코어 인스턴스는 빌드 할 때마다 인증 서비스에서 새 토큰을 가져올 수 있어야합니다 필요한 경우 실행됩니다. 이것은 어떤 형태의 영속적 인 승인이 concourse 서버에 어쨌든 저장되도록 요구하며, 현재 Dockerhub는 CI 액세스 토큰 인 github을 지원하지 않습니다.

즉, 콩 코스에 사용자 이름과 암호를 제공해야합니다.

  • 당신이 다른 곳에 저장, 파이프 라인에 저장되는 자격 증명을 보호하기 위해 --load-vars-from을 사용할 수 있습니다 (: 당신이 보안에 대해 걱정하는 경우

    , 당신이 가장 가능성이 위험을 줄이기 위해 취할 수있는 몇 가지 단계가 있습니다 LastPass, 로컬 파일 등).

  • 푸시하려는 특정 저장소에 대한 액세스 권한 만있는 Dockerhub의 사용자를 만들 수 있습니다. 가능하다면 "CI bot 사용자"입니다.