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 Desenvolvedor do Azure (azd) dá suporte a registros de contêiner externos de terceiros para implantação. Para usar esse recurso, você precisa se autenticar manualmente no registro de contêiner externo antes de executar azd deploy.
A autenticação baseada no Docker só é necessária quando azd gerencia operações de imagem para você, como puxar, compilar, marcar ou enviar imagens por push. Se um serviço estiver configurado com services.<name>.docker.imagePassthrough: true, azd reutilize a imagem remota configurada as-is. Nesse caso, azd não requer Docker ou Podman e não executa nenhuma autenticação do Registro ou etapas de ciclo de vida de imagem para esse serviço.
Autenticação
Execute docker login e autentique no registro de contêiner externo. Talvez seja necessário seguir mais etapas de configuração ou configuração para seu provedor de registro específico.
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 arquivo azure.yaml do seu modelo. O suporte para mais registros de contêiner oferece maior flexibilidade para seus fluxos de trabalho de implantação.
Efetuar pull do registro de contêiner externo
Neste exemplo, durante a implantação de azd, o contêiner é extraído e referenciado diretamente pelo serviço de aplicativo de contêiner docker.io/username/nginx:latest.
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
Observação
Sua configuração de infra-estrutura containerapp deve configurar credenciais ao extrair contêineres de registros de contêiner privados.
Para implantar uma imagem remota sem a necessidade de Docker ou Podman, defina services.<name>.docker.imagePassthrough: true e forneça a imagem totalmente qualificada, incluindo o registro, 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 oferece suporte às sinalizações de substituição de imagem
azd publish,--from-packagee--topara esse serviço.
Efetuar pull, marcar & enviar marcação para registro externo
Considere um arquivo azure.yaml 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. Nesse caso, é uma imagem pública no Docker Hub, portanto, azd remarca o contêiner/imagem e envia por push para o registro do Docker.
Compilar, marcar & enviar para o registro externo no azd deploy
Considere um arquivo azure.yaml 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 cria o contêiner, marca-o e envia-o por push para o registro do Docker.