Partilhar via


Crie e envie por push uma imagem de um aplicativo usando um Cloud Native Buildpack

O comando az acr pack build CLI do Azure usa a pack ferramenta CLI, de Buildpacks, para criar um aplicativo e enviar sua imagem para um registro de contêiner do Azure. Esse recurso fornece uma opção para criar rapidamente uma imagem de contêiner a partir do código-fonte do aplicativo em Node.js, Java e outras linguagens sem precisar definir um Dockerfile.

Você pode usar o Azure Cloud Shell ou uma instalação local da CLI do Azure para executar os exemplos neste artigo. Se você quiser usá-lo localmente, a versão 2.0.70 ou posterior é necessária. Executar az --version para localizar a versão. Se precisar de instalar ou atualizar, veja Install Azure CLI (Instalar o Azure CLI).

Importante

Esta funcionalidade está atualmente em pré-visualização. As pré-visualizações são disponibilizadas a si na condição de concordar com os termos suplementares de utilização. Alguns aspetos desta funcionalidade podem alterar-se após a disponibilidade geral (GA).

Use o comando build

Para criar e enviar por push uma imagem de contêiner usando o Cloud Native Buildpacks, execute o comando az acr pack build . Enquanto o comando az acr build cria e envia por push uma imagem de um código-fonte do Dockerfile e código relacionado, você az acr pack build especifica uma árvore de código-fonte do aplicativo diretamente.

No mínimo, especifique o seguinte ao executar az acr pack build:

  • Um registro de contêiner do Azure onde você executa o comando
  • Um nome de imagem e uma tag para a imagem resultante
  • Um dos locais de contexto suportados para tarefas ACR, como um diretório local, um repositório GitHub ou um tarball remoto
  • O nome de uma imagem do construtor Buildpack adequada para sua aplicação. Se não for armazenada em cache pelo Registro de Contêiner do Azure, a imagem do construtor deverá ser extraída usando o --pull parâmetro.

az acr pack build suporta outros recursos dos comandos ACR Tasks, incluindo variáveis de execução e logs de execução de tarefas que são transmitidos e também salvos para recuperação posterior.

Exemplo: criar Node.js imagem com o construtor do Cloud Foundry

O exemplo a seguir cria uma imagem de contêiner de um aplicativo Node.js no repositório Azure-Samples/nodejs-docs-hello-world , usando o cloudfoundry/cnb:cflinuxfs3 construtor.

az acr pack build \
    --registry myregistry \
    --image node-app:1.0 \
    --pull --builder cloudfoundry/cnb:cflinuxfs3 \
    https://github.com/Azure-Samples/nodejs-docs-hello-world.git

Este exemplo cria a node-app imagem com a 1.0 tag e a envia por push para o registro do contêiner myregistry . Neste exemplo, o nome do Registro de destino é explicitamente anexado ao nome da imagem. Se não for especificado, o nome do servidor de login do Registro será automaticamente anexado ao nome da imagem.

A saída do comando mostra o progresso da construção e envio da imagem.

Depois que a imagem for criada com êxito, você poderá executá-la com o Docker, se a tiver instalada. Primeiro inicie sessão no seu registo:

az acr login --name myregistry

Execute a imagem:

docker run --rm -p 1337:1337 myregistry.azurecr.io/node-app:1.0

Navegue até no localhost:1337 seu navegador favorito para ver o aplicativo Web de exemplo. Pressione [Ctrl]+[C] para parar o recipiente.

Exemplo: Construir imagem Java com o construtor Heroku

O exemplo a seguir cria uma imagem de contêiner do aplicativo Java no repositório buildpack/sample-java-app , usando o heroku/buildpacks:18 builder.

az acr pack build \
    --registry myregistry \
    --image java-app:{{.Run.ID}} \
    --pull --builder heroku/buildpacks:18 \
    https://github.com/buildpack/sample-java-app.git

Este exemplo cria a java-app imagem marcada com a ID de execução do comando e a envia por push para o registro do contêiner myregistry .

A saída do comando mostra o progresso da construção e envio da imagem.

Depois que a imagem for criada com êxito, você poderá executá-la com o Docker, se a tiver instalada. Primeiro inicie sessão no seu registo:

az acr login --name myregistry

Execute a imagem, substituindo sua tag de imagem por runid:

docker run --rm -p 8080:8080 myregistry.azurecr.io/java-app:runid

Navegue até no localhost:8080 seu navegador favorito para ver o aplicativo Web de exemplo. Pressione [Ctrl]+[C] para parar o recipiente.

Próximos passos

Depois de criar e enviar por push uma imagem de contêiner com az acr pack buildo , você pode implantá-la como qualquer imagem em um destino de sua escolha. As opções de implantação do Azure incluem executá-lo no Serviço de Aplicativo ou no Serviço Kubernetes do Azure, entre outros.

Para obter mais informações sobre os recursos do ACR Tasks, consulte Automatizar compilações e manutenção de imagens de contêiner com o ACR Tasks.