Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La CLI Databricks proporciona el comando auxiliar databricks air images push para combinar la autenticación de Docker, el etiquetado de imágenes y el envío a Artifact Registry. Detecta automáticamente la región del registro. Puedes usar este asistente en lugar de los pasos manuales de la guía del Registro de Artefactos. El helper no crea imágenes ni envía cargas de trabajo.
Requisitos previos
- Instala la CLI de Databricks versión 1.19.0 o superior. Consulte Instalación o actualización de la CLI de Databricks.
- Configura Artifact Registry en el espacio de trabajo donde quieres almacenar la imagen. Consulta Primeros pasos con el Registro de Artefactos.
- Crea o selecciona un catálogo y esquema de destino, y obtén los privilegios requeridos del Registro de Artefactos.
- Instala y pon Docker en tu máquina local. Docker debe estar disponible en tu
PATH.
Configurar la autenticación del espacio de trabajo
Crea o actualiza un perfil OAuth de espacio de trabajo para el espacio donde quieres almacenar la imagen:
databricks auth login --profile my-databricks-profile
El asistente de credenciales Docker requiere este perfil OAuth de espacio de trabajo. Para los métodos de autenticación compatibles, véase Configurar autenticación Docker.
Subir una imagen local
Por ejemplo, empujar una imagen local llamada my-training-image:v1 a main.ml.training:v1:
databricks air images push \
--profile my-databricks-profile \
--source my-training-image:v1 \
--catalog main \
--schema ml \
--artifact training:v1
El comando imprime el nombre de la imagen del Catálogo de Unity para usarlo como environment.unity_catalog_image en tu carga de trabajo YAML. Para este ejemplo, usa main.ml.training:v1, como se muestra en Usar una imagen Docker en una carga de trabajo.
El ayudante reutiliza una imagen fuente local cuando existe una. De lo contrario, extrae la imagen fuente para linux/amd64. Añade --pull para refrescar una imagen fuente de su registro aunque esté disponible localmente. Las imágenes deben usar linux/amd64. Reconstruye una imagen local incompatible para esa plataforma antes de lanzarla. Si la imagen fuente está en un registro privado, autentica Docker en ese registro antes de ejecutar el helper.
Para introducir los detalles de la imagen de forma interactiva, ejecuta databricks air images push --profile my-databricks-profile sin las banderas de imagen. Ejecuta databricks air images push --help para ver todas las opciones.
Enviar una imagen de otro registro
También puedes usar el asistente CLI para copiar una imagen existente de otro registro contenedor a Registro de Artefactos.
El siguiente ejemplo utiliza como fuente un repositorio privado del Amazon Elastic Container Registry (ECR). Para este ejemplo, instala y configura la CLI de AWS con credenciales que puedan autenticarse a ECR y extraer la imagen fuente. Estas credenciales de AWS son independientes de tu perfil de Databricks.
Primero, autentica Docker en el registro ECR de origen. Sustituye el ejemplo de ID de cuenta, región, repositorio y etiqueta de imagen de AWS por tus propios valores. La región de AWS debe coincidir con el registro de ECR de origen, no con el espacio de trabajo de Databricks de destino. Consulta autenticación de registro privado en la documentación de AWS.
aws ecr get-login-password --region us-west-2 | \
docker login --username AWS --password-stdin \
123456789012.dkr.ecr.us-west-2.amazonaws.com
Luego pasa el URI completo de la imagen ECR como --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
La opción --pull obtiene la imagen linux/amd64 de ECR aunque ya esté almacenada en caché localmente. El asistente utiliza tu instalación local de Docker para descargar, etiquetar y publicar la imagen. La imagen fuente en ECR no ha cambiado. Después de que el push tenga éxito, pon environment.unity_catalog_image en main.ml.training:ecr-v1 YAML en tu carga de trabajo.