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

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

컨테이너 레지스트리로 인증하려면 다음을 사용할 수 있습니다.

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

  • 읽기(풀) 액세스의 경우, read_registry여야 합니다.
  • 쓰기(푸시) 액세스의 경우, write_registryread_registry여야 합니다.

인증하려면 docker login 명령을 실행합니다. 예를 들면:

TOKEN=<토큰>
echo "$TOKEN" | docker login registry.example.com -u <사용자 이름> --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 "<액세스 토큰>" | docker login $CI_REGISTRY -u <사용자 이름> --password-stdin