컨테이너 레지스트리로 인증하기

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

컨테이너 레지스트리로 인증하기 위해 다음을 사용할 수 있습니다:

위의 모든 인증 방법에는 최소 범위가 필요합니다:

  • 읽기 (pull) 액세스의 경우, read_registry여야 합니다.
  • 쓰기 (push) 액세스의 경우, write_registryread_registry여야 합니다.
note
관리자 모드는 컨테이너 레지스트리로 인증하는 동안 적용되지 않습니다. 관리자 모드가 활성화된 관리자가 admin_mode 범위 없이 개인 액세스 토큰을 생성하면, 해당 토큰은 관리자 모드가 활성화되더라도 작동합니다.

인증하려면 docker login 명령을 실행하세요. 예를 들어:

TOKEN=<token>  
echo "$TOKEN" | docker login registry.example.com -u <username> --password-stdin  

GitLab CI/CD를 사용하여 인증하기

CI/CD를 사용하여 컨테이너 레지스트리로 인증하려면 다음을 사용할 수 있습니다:

  • CI_REGISTRY_USER CI/CD 변수.

    이 변수는 컨테이너 레지스트리에 대한 읽기 및 쓰기 액세스를 가진 작업별 사용자를 보유합니다.
    비밀번호는 자동으로 생성되어 CI_REGISTRY_PASSWORD에 사용 가능합니다.

    echo "$CI_REGISTRY_PASSWORD" | docker login $CI_REGISTRY -u $CI_REGISTRY_USER --password-stdin  
    
  • CI 작업 토큰.

    echo "$CI_JOB_TOKEN" | docker login $CI_REGISTRY -u $CI_REGISTRY_USER --password-stdin  
    
  • 최소 범위가 있는 배포 토큰:
    • 읽기 (pull) 액세스의 경우, read_registry.
    • 쓰기 (push) 액세스의 경우, read_registrywrite_registry.
    echo "$CI_DEPLOY_PASSWORD" | docker login $CI_REGISTRY -u $CI_DEPLOY_USER --password-stdin  
    
  • 최소 범위가 있는 개인 액세스 토큰:
    • 읽기 (pull) 액세스의 경우, read_registry.
    • 쓰기 (push) 액세스의 경우, read_registrywrite_registry.
    echo "<access_token>" | docker login $CI_REGISTRY -u <username> --password-stdin