Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A CLI Databricks fornece o comando databricks air images push helper para combinar autenticação Docker, marcação de imagens e envio para o Registo de Artefactos. Deteta automaticamente a região do registo. Podes usar este assistente em vez dos passos manuais do guia do Registo de Artefactos. O assistente não cria imagens nem submete cargas de trabalho.
Prerequisites
- Instale o Databricks CLI versão 1.19.0 ou superior. Consulte Instalar ou atualizar a CLI do Databricks.
- Configura o Registo de Artefactos no espaço de trabalho onde queres guardar a imagem. Veja Introdução ao Artifact Registry.
- Crie ou selecione um catálogo e esquema de destino, e obtenha os privilégios necessários do Registo de Artefactos.
- Instala e inicia o Docker na tua máquina local. O Docker deve estar disponível no seu
PATHarquivo .
Configurar autenticação do espaço de trabalho
Crie ou atualize um perfil OAuth de espaço de trabalho para o espaço onde pretende guardar a imagem:
databricks auth login --profile my-databricks-profile
O assistente de credenciais Docker requer este perfil OAuth do workspace. Para métodos de autenticação suportados, veja Configurar autenticação Docker.
Enviar uma imagem local
Por exemplo, enviar uma imagem local chamada my-training-image:v1 para main.ml.training:v1:
databricks air images push \
--profile my-databricks-profile \
--source my-training-image:v1 \
--catalog main \
--schema ml \
--artifact training:v1
O comando imprime o nome da imagem do Catálogo Unity para usar como environment.unity_catalog_image no seu YAML da carga de trabalho. Para este exemplo, use main.ml.training:v1, como mostrado em Use a imagem Docker numa carga de trabalho.
O helper reutiliza uma imagem de origem local quando existe. Caso contrário, extrai a imagem de origem para linux/amd64. Adicione --pull para atualizar uma imagem de origem do seu registo, mesmo que esteja disponível localmente. As imagens devem usar linux/amd64. Reconstrói uma imagem local que seja incompatível com essa plataforma antes de a enviar. Se a imagem de origem estiver num registo privado, autentique o Docker nesse registo antes de executar o helper.
Para introduzir os detalhes da imagem de forma interativa, execute databricks air images push --profile my-databricks-profile sem as bandeiras da imagem. Execute databricks air images push --help para ver todas as opções.
Carregar uma imagem de outro repositório
Também pode usar o auxiliar CLI para copiar uma imagem existente de outro registo de contentores para o Registo de Artefactos.
O exemplo seguinte utiliza um repositório privado do Amazon Elastic Container Registry (ECR) como fonte. Neste exemplo, instale e configure a CLI AWS com credenciais que possam autenticar para ECR e extrair a imagem de origem. Estas credenciais da AWS são independentes do seu perfil Databricks.
Primeiro, autenticar o Docker no registo ECR de origem. Substitua o exemplo de ID da conta AWS, região, repositório e etiqueta de imagem pelos seus próprios valores. A região AWS deve corresponder ao registo ECR de origem, não ao espaço de trabalho Databricks de destino. Veja autenticação do registo privado na documentação da AWS.
aws ecr get-login-password --region us-west-2 | \
docker login --username AWS --password-stdin \
123456789012.dkr.ecr.us-west-2.amazonaws.com
Depois passa o URI completo da imagem 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
A --pull flag recupera a linux/amd64 imagem do ECR mesmo que já esteja em cache localmente. O utilitário usa a instalação local do Docker para obter, atribuir uma etiqueta e enviar a imagem. A imagem de origem no ECR mantém-se inalterada. Depois de o push ser concluído com êxito, defina environment.unity_catalog_image como main.ml.training:ecr-v1 no ficheiro YAML da sua carga de trabalho.