Przesyłanie obrazów za pomocą Databricks CLI

Important

Ta funkcja jest dostępna w wersji beta. Aby z niego korzystać, administrator przestrzeni roboczej musi włączyć podglądy AI Runtime Beta Features oraz Databricks Artifact Registry na stronie Podglądów przestrzeni roboczej.

Kli Databricks zapewnia polecenie databricks air images push pomocnicze łączące uwierzytelnianie Docker, tagowanie obrazów oraz przesyłanie do Rejestru Artefaktów. Automatycznie wykrywa region rejestru. Możesz użyć tego pomocnika zamiast ręcznych kroków z przewodnika Artifact Registry. Pomocnik nie tworzy obrazów ani nie przesyła obciążeń.

Prerequisites

Konfiguruj uwierzytelnianie przestrzeni roboczej

Utwórz lub odśwież profil OAuth obszaru roboczego, w którym chcesz przechowywać obraz:

databricks auth login --profile my-databricks-profile

Pomocnik poświadczeń Dockera wymaga tego profilu OAuth dla tego obszaru roboczego. Aby poznać obsługiwane metody uwierzytelniania, zobacz: Ustaw uwierzytelnianie Docker.

Wypchnij lokalny obraz

Na przykład, prześlij lokalny obraz o nazwie my-training-image:v1 do main.ml.training:v1:

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

Polecenie wyświetla nazwę obrazu katalogu Unity, której należy użyć jako environment.unity_catalog_image w pliku YAML obciążenia. W tym przykładzie używamy main.ml.training:v1, jak pokazano w Używanie obrazu Dockera w obciążeniu.

Pomocnik ponownie wykorzystuje lokalny obraz źródłowy, gdy taki istnieje. W przeciwnym razie pobiera obraz źródłowy z elementu linux/amd64. Dodaj opcję --pull, aby odświeżyć obraz źródłowy z rejestru, nawet jeśli jest dostępny lokalnie. Obrazy muszą używać elementu linux/amd64. Odbuduj lokalny obraz niezgodny z tą platformą przed wypchnięciem go. Jeśli obraz źródłowy znajduje się w prywatnym rejestrze, uwierzytelnij Dockera w tym rejestrze przed uruchomieniem pomocnika.

Aby interaktywnie wprowadzać parametry obrazu kontenera, uruchom databricks air images push --profile my-databricks-profile bez flag obrazu. Uruchom databricks air images push --help, aby wyświetlić wszystkie opcje.

Wypchnij obraz z innego rejestru

Możesz także użyć pomocnika CLI, aby skopiować istniejący obraz z innego rejestru kontenera do Rejestru Artefaktów.

Poniższy przykład wykorzystuje prywatne repozytorium Amazon Elastic Container Registry (ECR) jako źródło. W tym przykładzie zainstaluj i skonfiguruj AWS CLI z poświadczeniami, które umożliwiają uwierzytelnienie w ECR i pobranie obrazu źródłowego. Te dane logowania AWS są oddzielne od Twojego profilu Databricks.

Najpierw uwierzytelnij Docker w źródłowym rejestrze ECR. Zamień przykładowy identyfikator konta AWS, region, repozytorium i tag obrazu własnymi wartościami. Region AWS musi odpowiadać rejestrowi źródłowemu ECR, a nie docelowemu obszarowi roboczemu Databricks. Zobacz uwierzytelnianie rejestru prywatnego w dokumentacji AWS.

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

Następnie przekazuj pełny URI obrazu ECR jako --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

Flaga --pull pobiera obraz linux/amd64 z ECR nawet jeśli jest on już lokalnie zbuforowany. Pomocnik korzysta z lokalnej instalacji Dockera do pobierania, tagowania i wysyłania obrazu. Obraz źródłowy w ECR pozostaje bez zmian. Po udanym wypchnięciu ustaw environment.unity_catalog_image na main.ml.training:ecr-v1 w pliku YAML obciążenia.