Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A CLI do Databricks fornece o comando auxiliar databricks air images push para combinar autenticação do Docker, a marcação de imagens e a o envio por push para o Registro de Artefato. Ele detecta automaticamente a região do registro. Você pode usar esse auxiliar em vez das etapas manuais do guia do Registro de Artefato. O assistente não constrói imagens nem envia cargas de trabalho.
Prerequisites
- Instale a CLI do Databricks versão 1.19.0 ou superior. Consulte Instalar ou atualizar a CLI do Databricks.
- Configure o Registro de Artefato no workspace que você quer armazenar a imagem. Veja Comece com o Registro de Artefatos.
- Crie ou selecione um catálogo e esquema de destino, e obtenha os privilégios necessários do Registro de Artefato.
- Instale e inicie o Docker na sua máquina local. O Docker deve estar disponível no arquivo
PATH.
Configurar autenticação do workspace
Crie ou atualize um perfil OAuth de espaço de trabalho para o espaço onde deseja armazenar a imagem:
databricks auth login --profile my-databricks-profile
O auxiliar de credenciais Docker requer esse perfil OAuth do workspace. Para os métodos de autenticação com suporte, consulte Configurar autenticação do Docker.
Efetuar push de uma imagem local
Por exemplo, efetue push de 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 esse exemplo, use main.ml.training:v1, como mostrado em Usar uma imagem do Docker em uma carga de trabalho.
O auxiliar reutiliza uma imagem de origem local quando há uma. Caso contrário, ele puxa a imagem fonte para linux/amd64. Adicione --pull para atualizar uma imagem de origem direto de seu respectivo registro, mesmo que esteja disponível localmente. As imagens devem usar linux/amd64. Recrie uma imagem local incompatível para essa plataforma antes de enviá-la. Se a imagem de origem estiver em um Registro privado, autentique-se com o Docker nesse Registro antes de executar o auxiliar.
Para inserir os detalhes da imagem de forma interativa, execute databricks air images push --profile my-databricks-profile sem os sinalizadores de imagem. Execute databricks air images push --help para ver todas as opções.
Efetuar push de uma imagem direto de outro Registro
Você também pode usar o auxiliar da CLI para copiar uma imagem existente de outro registro de contêiner para o Registro de Artefato.
O exemplo a seguir utiliza um repositório privado do Amazon Elastic Container Registry (ECR) como origem. Para esse exemplo, instale e configure a CLI do AWS com credenciais que possam se autenticar no ECR e efetuar push na imagem de origem. Essas credenciais do AWS são separadas do seu perfil do Databricks.
Primeiro, autentique o Docker no Registro do ECR de origem. Substitua o exemplo da marcação de imagem, do repositório, da região e da ID da conta do AWS por seus próprios valores. A região do AWS deve corresponder ao Registro do ECR de origem, e não ao workspace do Databricks de destino. Consulte Autenticação do Registro privado na documentação do 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, passe o URI completo da imagem do 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
O --pull sinalizador busca a imagem linux/amd64 do ECR mesmo que ela já esteja em cache localmente. O auxiliar usa sua instalação local do Docker para efetuar pull, etiquetar e efetuar push da imagem. A imagem de origem no ECR permanece inalterada. Depois que o processo de push for bem-sucedido, defina environment.unity_catalog_image como main.ml.training:ecr-v1 no YAML da carga de trabalho.