Databricks CLI로 이미지를 푸시하세요

Databricks CLI는 Docker 인증, 이미지 태깅, 아티팩트 레지스트리로 푸시하는 기능을 결합하는 헬퍼 명령을 databricks air images push 제공합니다. 레지스트리 영역을 자동으로 감지합니다. 이 보조 도구를 아 티팩트 레지스트리 가이드의 수동 단계 대신 사용할 수 있습니다. 헬퍼는 이미지를 만들거나 워크로드를 제출하지 않습니다.

Prerequisites

작업 공간 인증 구성

이미지를 저장하고자 하는 작업 공간에 대해 작업 공간 OAuth 프로필을 생성하거나 새로고침하세요:

databricks auth login --profile my-databricks-profile

Docker 자격 증명 헬퍼는 이 워크스페이스 OAuth 프로필을 필요로 합니다. 지원되는 인증 방법에 대해서는 Docker 인증 설정 문서를 참조하세요.

로컬 이미지를 푸시

예를 들어, my-training-image:v1라는 로컬 이미지를 main.ml.training:v1에 푸시합니다:

databricks air images push \
  --profile my-databricks-profile \
  --source my-training-image:v1 \
  --catalog main \
  --schema ml \
  --artifact training:v1

이 명령어는 작업 부하 YAML에서 environment.unity_catalog_image 사용할 수 있도록 Unity 카탈로그 이미지 이름을 출력합니다. 이 예시에서는 '워크로드에서 Docker 이미지 사용하기'에서 보듯이 를 사용main.ml.training:v1하세요.

헬퍼는 로컬 소스 이미지가 존재할 때 재사용합니다. 그렇지 않으면 linux/amd64의 원본 이미지를 가져옵니다. 소스 이미지를 레지스트리에서 새로고침하도록 추가 --pull 하세요. 이미지는 반드시 를 사용해야 linux/amd64합니다. 해당 플랫폼용으로 호환되지 않는 로컬 이미지를 다시 빌드한 후 푸시하세요. 소스 이미지가 개인 레지스트리에 있다면, 도커를 해당 레지스트리에 인증한 후 헬퍼를 실행하세요.

이미지 세부 정보를 인터랙티브하게 입력하려면 databricks air images push --profile my-databricks-profile를 이미지 플래그 없이 실행하세요. 모든 옵션을 보려면 databricks air images push --help를 실행하세요.

다른 레지스트리에서 이미지를 푸시하세요

CLI 헬퍼를 사용해 다른 컨테이너 레지스트리에서 기존 이미지를 Artifact Registry로 복사할 수도 있습니다.

다음 예시는 프라이빗 아마존 엘라스틱 컨테이너 레지스트리(ECR) 저장소를 소스로 사용합니다. 이 예시에서는 ECR에 인증하고 원본 이미지를 가져올 수 있는 자격 증명이 있는 AWS CLI를 설치하고 설정하세요. 이 AWS 자격 증명은 Databricks 프로필과는 별개입니다.

먼저, Docker 소스를 ECR 레지스트리에 인증하세요. 예시 AWS 계정 ID, 리전, 리포지토리 및 이미지 태그를 자신의 값으로 바꾸세요. AWS 리전은 대상 Databricks 워크스페이스가 아니라 소스 ECR 레지스트리와 일치해야 합니다. AWS 설명서에서 프라이빗 레지스트리 인증을 참조하세요.

aws ecr get-login-password --region us-west-2 | \
  docker login --username AWS --password-stdin \
  123456789012.dkr.ecr.us-west-2.amazonaws.com

그런 다음 전체 ECR 이미지 URI를 --source로 전달합니다:

databricks air images push \
  --profile my-databricks-profile \
  --source 123456789012.dkr.ecr.us-west-2.amazonaws.com/my-training-image:v1 \
  --catalog main \
  --schema ml \
  --artifact training:ecr-v1 \
  --pull

--pull 플래그는 이미 로컬에 캐시되어 있더라도 ECR에서 linux/amd64 이미지를 가져옵니다. 헬퍼는 로컬에 설치된 Docker를 사용하여 이미지를 가져오고, 태그를 지정하고, 푸시합니다. ECR의 원본 이미지는 변경되지 않습니다. 푸시가 성공한 후에는 작업 부하에서 YAML을 main.ml.training:ecr-v1 설정 environment.unity_catalog_image 하세요.