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

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

컨테이너 레지스트리에 대한 인증은 다음을 사용할 수 있습니다:

모든 이러한 인증 방법은 최소한의 범위를 필요로 합니다:

  • 읽기(다운로드) 액세스의 경우 read_registry여야 합니다.
  • 쓰기(업로드) 액세스의 경우 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
    
  • 배포 토큰으로 최소한의 범위를 가져올 수 있습니다:
    • 읽기(다운로드) 액세스의 경우 read_registry입니다.
    • 쓰기(업로드) 액세스의 경우 read_registrywrite_registry입니다.
    echo "$CI_DEPLOY_PASSWORD" | docker login $CI_REGISTRY -u $CI_DEPLOY_USER --password-stdin
    
  • 개인 액세스 토큰으로 최소한의 범위를 가져올 수 있습니다:
    • 읽기(다운로드) 액세스의 경우 read_registry입니다.
    • 쓰기(업로드) 액세스의 경우 read_registrywrite_registry입니다.
    echo "<access_token>" | docker login $CI_REGISTRY -u <username> --password-stdin