Pushowanie obrazów za pomocą Databricks CLI

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 do rejestru artefaktów. 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 dla obszaru roboczego, w którym chcesz przechowywać obraz:

databricks auth login --profile my-databricks-profile

Pomocnik poświadczenia Docker wymaga tego profilu OAuth w przestrzeni roboczej. Aby poznać obsługiwane metody uwierzytelniania, zobacz: Ustaw uwierzytelnianie Docker.

Wypchnij lokalny obraz

Na przykład, przesuwamy lokalny obraz o nazwie 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

Polecenie drukuje nazwę obrazu katalogu Unity, aby użyć jej w environment.unity_catalog_image YAML w Twoim obciążeniu. W tym przykładzie używamy main.ml.training:v1, jak pokazano w Use a Docker image in a workload.

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

Aby interaktywnie wprowadzać szczegóły obrazu, 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 uprawnieniami uwierzytelniającymi do ECR i pobieraniem obrazu źródłowego. Te poświadczenia AWS są niezależne od twojego profilu Databricks.

Najpierw uwierzytelnij Dockera do źródłowego rejestru ECR. Zamień przykładowy identyfikator konta AWS, region, repozytorium i tag obrazu własnymi wartościami. Region AWS musi odpowiadać rejestrowi ECR dla źródła, a nie docelowemu obszarowi roboczego 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 --pulllinux/amd64 pobiera obraz z ECR nawet jeśli jest on już lokalnie zbuforowany. Pomocnik korzysta z lokalnej instalacji Dockera do pobierania, tagowania i wypychania obrazu. Obraz źródłowy w ECR pozostaje bez zmian. Po pomyślnym wypchnięciu ustaw environment.unity_catalog_image na main.ml.training:ecr-v1 w pliku YAML obciążenia.