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 do Desenvolvedor do Azure (azd) dá suporte a registros de contêiner externos de terceiros para implantação. Para usar esse recurso, você precisa autenticar manualmente no registro de contêiner externo antes de chamar azd deploy.
A autenticação baseada em Docker só é necessária quando azd gere operações de imagem por si, como puxar, construir, etiquetar ou enviar imagens. Se um serviço estiver configurado com services.<name>.docker.imagePassthrough: true, azd reutiliza a imagem remota configurada as-is. Nesse caso, azd não requer Docker ou Podman e não realiza quaisquer passos de autenticação do registo ou do ciclo de vida da imagem para esse serviço.
Autenticação
Execute docker login e autentique-se em seu registro de contêiner externo. Pode ser necessário seguir mais passos de configuração ou de instalação para o seu fornecedor específico de registo.
docker login <your-registry>
Cenários de exemplo
Você pode configurar azd para enviar e extrair imagens de um registro de contêiner externo no azure.yaml arquivo do seu modelo. O suporte a mais registos de contentores proporciona maior flexibilidade para os seus fluxos de trabalho de implementação.
Extrair do registro de contêiner externo
Neste exemplo, durante azd, o contentor é obtido de docker.io/username/nginx:latest e referenciado diretamente pelo serviço de aplicações em contentores.
name: todo-nodejs-mongo-aca
metadata:
template: todo-nodejs-mongo-aca@0.0.1-beta
services:
nginx:
image: docker.io/<username>/nginx:latest
host: containerapp
Nota
Sua configuração de infra containerapp deve configurar credenciais ao extrair contêineres de registros de contêiner privados.
Para implementar uma imagem remota sem necessidade de Docker ou Podman, defina services.<name>.docker.imagePassthrough: true e forneça a imagem totalmente qualificada, incluindo o registo, em services.<name>.image:
name: todo-nodejs-mongo-aca
metadata:
template: todo-nodejs-mongo-aca@0.0.1-beta
services:
nginx:
image: docker.io/<username>/nginx:latest
host: containerapp
docker:
imagePassthrough: true
imagePassthrough tem as seguintes restrições:
- É necessário definir
services.<name>.image. - Não pode ser combinado com
docker.remoteBuild. - Não suporta as
azd publishbandeiras de sobreposição de imagem,--from-packagee--to, para esse serviço.
Pull, tag & push para o registro externo
Considere um azure.yaml arquivo com a seguinte configuração:
# azure.yaml
name: todo-nodejs-mongo-aca
metadata:
template: todo-nodejs-mongo-aca@0.0.1-beta
services:
nginx:
image: nginx
host: containerapp
docker:
registry: docker.io/<username>
image: nginx
tag: latest
O azd deploy comando puxa a imagem nginx configurada. Neste caso, é uma imagem pública no docker hub, por isso azd reetiqueta o contentor/imagem e envia-o para o registo docker.
Compilar, etiquetar e enviar para um registo externo durante o azd deploy
Considere um azure.yaml arquivo com a seguinte configuração:
# azure.yaml
name: todo-nodejs-mongo-aca
metadata:
template: todo-nodejs-mongo-aca@0.0.1-beta
services:
api:
project: ./src/api
host: containerapp
docker:
registry: docker.io/<username>
image: todo-api
O azd deploy comando constrói o contentor, etiqueta-o e envia-o para o registo docker.