Partilhar via


Início Rápido: Execute um contentor personalizado no Azure

Azure App Service fornece pilhas de aplicativos predefinidas no Windows, como ASP.NET ou Node.js, que são executadas no IIS. As pilhas de aplicações pré-configuradas bloqueiam o sistema operativo e impedem o acesso de baixo nível. Contentores Windows personalizados não têm estas restrições. Permitem que os programadores personalizem totalmente os contêineres e dêem às aplicações em contêiner acesso completo à funcionalidade do Windows.

Este guia de início rápido mostra como implementar uma aplicação ASP.NET numa imagem do Windows para o Azure Container Registry a partir do Visual Studio. Executa a aplicação num contentor personalizado no Azure App Service.

Pré-requisitos

  • Instalar o Docker para Windows

  • Mudar o Docker para executar contentores do Windows

  • Instale o Visual Studio 2022 com as cargas de trabalho de ASP.NET e desenvolvimento web e desenvolvimento com o Azure. No Visual Studio 2022 Community, certifique-se de que o componente de modelos de projeto e itens do .NET Framework esteja selecionado com a carga de trabalho de desenvolvimento web e ASP.NET. Se já instalou o Visual Studio 2022:

    • Instale as últimas atualizações no Visual Studio ao selecionar Ajuda>Procurar atualizações.
    • Adicione as cargas de trabalho no Visual Studio, selecionando Ferramentas>Obter Ferramentas e Funcionalidades.

Criar uma aplicação web ASP.NET

Siga estes passos para criar uma aplicação web ASP.NET:

  1. Abra o Visual Studio e, em seguida, selecione Criar um novo projeto.

  2. Em Criar um novo projeto, selecione Aplicação Web ASP.NET (.NET Framework) para C#, em seguida, selecione Seguinte.

    Captura de ecrã da caixa de diálogo Criar um novo projeto.

  3. No Configure o seu novo projeto, em Nome do projeto, nomeie a aplicação myfirstazurewebapp. Sob Framework , selecione .NET Framework 4.8 e depois selecione Criar.

    Captura de ecrã da configuração do projeto de aplicação web.

  4. Pode implementar qualquer tipo de aplicação web ASP.NET no Azure. Para esta introdução rápida, escolha o modelo MVC.

  5. Em Autenticação, selecione Nenhuma. Em Avançado, selecione Suporte a container e desmarque Configurar para HTTPS. Selecione Criar.

    Captura de tela da caixa de diálogo Criar ASP.NET Aplicativo Web.

  6. Se o ficheiro Dockerfile não for aberto automaticamente, abra-o a partir do Solution Explorer.

  7. Precisas de uma imagem base suportada. Altere a imagem principal substituindo a linha FROM pelo seguinte código e guarde o ficheiro:

    FROM mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019
    
  8. No menu do Visual Studio, selecione Depurar>Iniciar Sem Depuração para executar a aplicação web localmente.

    Captura de ecrã da aplicação a correr localmente.

Publicar no Registo de Contentores do Azure

  1. No Solution Explorer, clique com o botão direito do rato no projeto myfirstazurewebapp e selecione Publicar.

  2. No Alvo, selecione Registo de Contêineres Docker, e depois selecione Seguinte.

    Captura de ecrã do ecrã Selecionar Registo de Contêineres do Docker.

  3. Em Specific Target, selecione Azure Container Registry e, em seguida, selecione Next.

    Captura de ecrã da publicação da página de visão geral do projeto.

  4. Em Publicar, escolha a subscrição correta. Em Registos de Contentores selecione Criar novo para criar um novo Azure Container Registry.

    Captura de ecrã da tela Criar novo Registo de Contêineres do Azure.

  5. Em Criar novo, seleccione a subscrição correta. Em Grupo de recursos, selecione Novo e digite myResourceGroup para o nome e selecione OK. Em SKU, selecione Básico. Em Localização do registo, seleccione uma localização do registo e depois seleccione Criar.

    Captura de ecrã dos detalhes do Azure Container Registry.

  6. Em Publicar, sob Container Registry, selecione o registo que criou e depois selecione Concluir.

    Captura de ecrã do ecrã Selecionar registo de contentor do Azure existente.

    Aguarde até que a implementação seja concluída. A página de Publicação agora mostra o nome do repositório. Selecione o botão copiar para copiar o nome do repositório para mais tarde.

    Captura de ecrã que destaca o nome do repositório.

Criar um contêiner personalizado do Windows

  1. Inicie sessão no portal Azure.

  2. Escolha Criar um recurso no canto superior esquerdo do portal do Azure.

  3. Em Serviços populares, selecione Criar em Aplicação Web.

  4. Em Criar Aplicação Web, escolha a sua subscrição e um Grupo de Recursos. Pode criar um novo grupo de recursos, se necessário.

  5. Forneça um nome de aplicação, como win-container-demo. Em Publicar, selecione Contêiner. Em Sistema Operacional, selecione Windows.

    Captura de ecrã da criação de uma aplicação web para contentores.

  6. Selecione Próximo: Base de Dados, depois Próximo: Contêiner para continuar.

  7. Para Fonte da Imagem, escolha Docker Hub e para Imagem e etiqueta, insira o nome do repositório que copiou em Publicar no Azure Container Registry.

    Captura de ecrã de Configure seu aplicativo web para contêineres.

    Se tiver uma imagem personalizada noutro local para a sua aplicação web, como no Azure Container Registry ou em qualquer outro repositório privado, pode configurá-la aqui. Selecione Revise + Criar para continuar.

  8. Verifique todos os detalhes e, em seguida, selecione Criar.

    Captura de ecrã de Criar a sua App Web para Contentores.

    Aguarde que o Azure crie os recursos necessários.

Aceda ao contentor personalizado

Quando a operação terminar, o portal Azure mostra uma notificação.

Captura de ecrã do sucesso da implementação.

  1. Selecione Ir para o recurso.

  2. Na visão geral deste recurso, siga o link ao lado de Domínio padrão.

Uma nova página do navegador abre-se para a seguinte página:

Captura de ecrã do início de um contentor personalizado do Windows.

Aguarde alguns minutos e tente novamente, até obter a página inicial padrão do ASP.NET.

Captura de ecrã de um contentor personalizado do Windows em execução.

Parabéns! Está a executar o seu primeiro contentor Windows personalizado no Azure App Service.

Ver registos de arranque do contentor

Pode demorar algum tempo para o contentor Windows carregar. Para ver o progresso, navegue para o seguinte URL substituindo <app_name> pelo nome da sua aplicação.

https://<app_name>.scm.azurewebsites.net/api/logstream

Os registos transmitidos têm este aspeto:

2018-07-27T12:03:11  Welcome, you are now connected to log-streaming service.
27/07/2018 12:04:10.978 INFO - Site: win-container-demo - Start container succeeded. Container: facbf6cb214de86e58557a6d073396f640bbe2fdec88f8368695c8d1331fc94b
27/07/2018 12:04:16.767 INFO - Site: win-container-demo - Container start complete
27/07/2018 12:05:05.017 INFO - Site: win-container-demo - Container start complete
27/07/2018 12:05:05.020 INFO - Site: win-container-demo - Container started successfully

Atualizar localmente e redistribuir

  1. No Visual Studio, no Gerenciador de Soluções, abra o Views>Home>Index.cshtml.

  2. Encontre a tag HTML <div class="jumbotron"> perto do topo e substitua todo o elemento pelo seguinte código:

    <div class="jumbotron">
        <h1>ASP.NET in Azure!</h1>
        <p class="lead">This is a simple app that we've built that demonstrates how to deploy a .NET app to Azure App Service.</p>
    </div>
    
  3. Para reimplantar no Azure, clique com o botão direito no projeto myfirstazurewebapp no Solution Explorer e escolha Publicar.

  4. Na página de publicação, selecione Publicar e aguarde a conclusão da publicação.

  5. Para instruir o App Service a puxar a nova imagem do Docker Hub, reinicie a aplicação. Na página do aplicativo no portal do Azure, selecione Reiniciar>Sim.

    Captura de ecrã da visão geral do App Service com o botão Reiniciar destacado.

Navegue até o recipiente personalizado novamente. Ao atualizar a página web, a aplicação deve voltar inicialmente à página "A iniciar" e, em seguida, exibir a página web atualizada.

Captura de ecrã da aplicação web atualizada no Azure.

Limpar recursos

Nos passos anteriores, criou recursos do Azure num grupo de recursos. Se não espera precisar destes recursos no futuro, pode eliminá-los apagando o grupo de recursos.

No menu do portal Azure ou na página Início, selecione Grupos de recursos. Em seguida, na página Grupos de recursos, selecione myResourceGroup.

Na página myResourceGroup, certifique-se de que os recursos listados são aqueles que deseja eliminar.

Selecione Eliminar grupo de recursos, digite myResourceGroup na caixa de texto para confirmar, e então selecione Eliminar.

Azure App Service no Linux fornece stack de aplicações predefinidas no Linux com suporte para linguagens como .NET, Java, Node.js e PHP. Pode também usar uma imagem Docker personalizada para executar a sua aplicação web numa pilha de aplicações que ainda não está definida no Azure. Este guia rápido mostra como implementar uma imagem de um Azure Container Registry (ACR) no Serviço de Aplicações.

Para mais informações sobre aplicações em contentores num ambiente serverless, consulte Aplicações em Contentores.

Pré-requisitos

Criar um registo de contentores

Este guia de início rápido usa o Azure Container Registry como registo. Pode usar outros registos, mas os passos podem diferir ligeiramente.

Crie um registo de contentores seguindo as instruções em Início rápido: Criar um registo de contentores privado utilizando o portal Azure.

Importante

Certifique-se de definir a opção Usuário Administrador como Habilitar ao criar o Registro de Contêiner do Azure. Também pode defini-lo a partir da secção Access keys da sua página de registo no portal do Azure. Esta configuração é necessária para o acesso ao App Service. Para identidade gerida, consulte Deploy from ACR tutorial.

Entrar

  1. Inicie o Visual Studio Code.

  2. Selecione o logótipo Azure na Barra de Atividades e navegue até CONTAS & INQUILINOS. Selecione Inicie sessão no Azure e siga as instruções.

    Captura de ecrã de início de sessão no Azure no Visual Studio Code.

  3. Na Barra de Estado na parte inferior, verifique o endereço de e-mail da sua conta Azure. No explorador do APP SERVICE, a sua subscrição deverá ser exibida.

  4. Na Barra de Atividades, selecione o logótipo do Docker. No explorador de REGISTROS, verifique se o registo de contentores que criou aparece.

    A captura de ecrã mostra o valor dos Registos com o Azure expandido.

Verificar pré-requisitos

Verifique se o Docker está instalado e em execução. O seguinte comando exibe a versão do Docker se este estiver em execução.

docker --version

Criar e construir imagem

  1. No Visual Studio Code, abra uma pasta vazia e adicione um ficheiro chamado Dockerfile. No Dockerfile, cole o conteúdo com base na estrutura de linguagem desejada.

    Neste Dockerfile, a imagem principal é um dos contêineres .NET incorporados do App Service.

    FROM mcr.microsoft.com/appsvc/dotnetcore:lts
    
    ENV PORT 8080
    EXPOSE 8080
    
    ENV ASPNETCORE_URLS "http://*:${PORT}"
    
    ENTRYPOINT ["dotnet", "/defaulthome/hostingstart/hostingstart.dll"]
    
  2. Abrir a Paleta de Comandos e digitar Docker Images: Construir Imagem. Selecione Enter para executar o comando.

  3. Na caixa da etiqueta de imagem, especifique a etiqueta pretendida no seguinte formato: <acr-name>.azurecr.io/<image-name>:<tag>, onde <acr-name> é o nome do registo de contentores que criou. Selecione Enter.

  4. Quando a imagem terminar de ser construída, selecione Atualizar na parte superior do explorador de IMAGENS e verifique se a imagem foi construída com sucesso.

    Captura de ecrã mostra a imagem construída com etiqueta.

Implantar no registo de contentores

  1. Na Barra de Atividades, selecione o ícone Docker. No explorador de IMAGES, encontre a imagem que você construiu.

  2. Expanda a imagem, clique com o botão direito na etiqueta que deseja e selecione Push.

  3. Certifique-se de que a tag da imagem começa com <acr-name>.azurecr.io e prima Enter.

  4. Quando o Visual Studio Code terminar de enviar a imagem para o seu registo de contêineres, selecione Refresh no topo do explorador REGISTRIES e verifique se a imagem foi enviada com sucesso.

    A captura de tela mostra a imagem implantada no Registro de Contêiner do Azure.

Implementar no App Service

  1. No explorador de REGISTOS, expanda a imagem, clique com o botão direito no tag e selecione Desdobrar Imagem para Azure App Service.
  2. Siga as instruções para escolher uma subscrição, um nome de aplicativo globalmente único, um grupo de recursos e um plano de Serviço de Aplicação. Escolha B1 Básico para a categoria de preços e uma região perto de si.

Após a implementação, a sua aplicação estará disponível em http://<app-name>.azurewebsites.net.

Um Resource Group é uma coleção nomeada de todos os recursos da sua aplicação no Azure. Por exemplo, um Grupo de Recursos pode conter uma referência a um site, uma base de dados e uma Função do Azure.

Um App Service Plan define os recursos físicos que usar para hospedar o seu site. Este guia rápido utiliza um plano de alojamento Básico na infraestrutura de Linux, o que significa que o site é hospedado numa máquina Linux juntamente com outros websites. Se começar com o plano Básico, pode usar o portal do Azure para aumentar a escala de modo a que o seu seja o único site a correr numa máquina. Para informações de preços, veja App Service pricing.

Navegue no site

O painel Output mostra o estado das operações de implementação. Quando a operação terminar, selecione Abrir Site na notificação pop-up para abrir o site no seu navegador.

Limpar recursos

Nos passos anteriores, criou recursos do Azure num grupo de recursos. Se não espera precisar destes recursos no futuro, pode eliminá-los apagando o grupo de recursos.

No menu do portal Azure ou na página Início, selecione Grupos de recursos. Em seguida, na página Grupos de recursos, selecione myResourceGroup.

Na página myResourceGroup, certifique-se de que os recursos listados são aqueles que deseja eliminar.

Selecione Eliminar grupo de recursos, digite myResourceGroup na caixa de texto para confirmar, e então selecione Eliminar.

Parabéns, concluíste com sucesso este guia de início rápido!

A aplicação do App Service busca do registo de contentores sempre que inicia. Se reconstruir a sua imagem, apenas precisa de enviá-la para o seu registo de contentor, e a aplicação obtém a imagem atualizada quando reinicia. Para instruir a sua aplicação a obter a imagem atualizada imediatamente, reinicie-a.

Outras extensões Azure:

Azure App Service no Linux fornece stack de aplicações predefinidas no Linux com suporte para linguagens como .NET, Java, Node.js e PHP. Pode também usar uma imagem Docker personalizada para executar a sua aplicação web numa pilha de aplicações que ainda não está definida no Azure. Este início rápido mostra como implantar uma imagem do Azure Container Registry no Azure App Service.

Para mais informações sobre aplicações em contentores num ambiente serverless, consulte Aplicações em Contentores.

Pré-requisitos

Clone o repositório de exemplo

Utilize o seguinte comando para clonar a aplicação de exemplo .NET 6.0:

git clone https://github.com/Azure-Samples/dotnetcore-docs-hello-world.git

Envie a imagem para o Azure Container Registry

Certifique-se de que está na pasta raiz do repositório clonado. Este repositório contém um ficheiro Dockerfile.linux.

  1. Inicie sessão no Azure CLI.

    az login
    
  2. Inicie sessão no Azure Container Registry.

    az acr login -n <your_registry_name>
    
  3. Construa a imagem do container. Este exemplo usa o nome da imagem dotnetcore-docs-hello-world-linux.

    docker build -f Dockerfile.linux -t <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-linux . 
    
  4. Enviar a imagem do contentor para o Azure Container Registry.

    docker push <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-linux:latest
    

    Nota

    O Dockerfile define o número da porta para 80 internamente. Para mais informações sobre como configurar o contentor, consulte Configurar contentor personalizado.

Implantar no Azure

Iniciar sessão no portal do Azure

Inicie sessão no portal Azure.

Criar recursos do Azure

  1. Escreva app services na pesquisa. Em Serviços, selecione Serviços de Aplicativo.

    Captura de ecrã da pesquisa por 'serviços de aplicação' no portal do Azure.

  2. Na página Serviços de Aplicativo , selecione Criar>Aplicativo Web.

  3. Na aba Principais, sob Detalhes do projeto, selecione a subscrição correta. Selecione Criar novo grupo de recursos. Insira myResourceGroup para o nome.

    Captura de ecrã da seção Detalhes do Projeto mostrando onde selecionar a subscrição do Azure e o grupo de recursos para a aplicação web.

  4. Em Detalhes da instância:

    • Introduza um nome globalmente único para a sua aplicação web.
    • Selecione Container.
    • Para o Sistema Operacional, selecione Linux.
    • Selecione uma região da qual deseja servir a sua aplicação.

    Captura de ecrã da secção de detalhes da Instância onde atribui um nome à máquina virtual e seleciona a sua região, imagem e tamanho.

  5. Em App Service Plan, selecione Criar novo App Service Plan. Insira myAppServicePlan para o nome. Para mudar para o escalão Gratuito, selecione Mudar tamanho, selecione o separador Dev/Test, selecione F1. Selecione Aplicar.

    Captura de ecrã das opções do plano do App Service.

  6. No topo da página, selecione o separador Container.

  7. No separador Container, para Image Source, selecione Azure Container Registry. Em Opções do Registro de Contêiner do Azure, defina os seguintes valores:

    • Registry: Selecione o seu Registo de Contentores do Azure.
    • Imagem: Selecione dotnetcore-docs-hello-world-linux.
    • Tag: Selecione o mais recente.

    Captura de ecrã mostrando as opções do Azure Container Registry.

  8. Selecione Revisar + criar no fundo da página.

    Captura de ecrã mostrando o botão Rever e criar na parte inferior da página.

  9. Após a execução da validação, selecione Criar.

  10. Depois de terminar a implementação, selecione Ir para o recurso.

    Captura de ecrã a mostrar o próximo passo de ir para o recurso.

Navegar para a aplicação

Aceda à aplicação implementada no seu navegador web através do URL http://<app-name>.azurewebsites.net.

Captura de ecrã mostrando a aplicação implementada.

Limpar recursos

Nos passos anteriores, criou recursos do Azure num grupo de recursos. Se não espera precisar destes recursos no futuro, pode eliminá-los apagando o grupo de recursos.

No menu do portal Azure ou na página Início, selecione Grupos de recursos. Em seguida, na página Grupos de recursos, selecione myResourceGroup.

Na página myResourceGroup, certifique-se de que os recursos listados são aqueles que deseja eliminar.

Selecione Eliminar grupo de recursos, digite myResourceGroup na caixa de texto para confirmar, e então selecione Eliminar.

Parabéns, concluíste com sucesso este guia de início rápido.

O aplicativo do App Service faz o download do registo de contêiner cada vez que inicia. Se reconstruir a sua imagem, basta enviá-la para o seu registo de contentores. O aplicativo obtém a imagem atualizada quando ela é reiniciada. Para instruir a sua aplicação a obter a imagem atualizada imediatamente, reinicie-a.

Azure App Service fornece pilhas de aplicativos predefinidas no Windows, como ASP.NET ou Node.js, que são executadas no IIS. As pilhas de aplicações pré-configuradas bloqueiam o sistema operativo e impedem o acesso de baixo nível. Contentores Windows personalizados não têm estas restrições. Permitem que os programadores personalizem totalmente os contêineres e dêem às aplicações em contêiner acesso completo à funcionalidade do Windows.

Este início rápido mostra-lhe como desenvolver uma aplicação ASP.NET numa imagem do Windows a partir do Azure Container Registry para o Azure App Service.

Pré-requisitos

Clone o repositório de exemplo

Utilize o seguinte comando para clonar a aplicação de exemplo .NET 6.0:

git clone https://github.com/Azure-Samples/dotnetcore-docs-hello-world.git

Envie a imagem para o Azure Container Registry

Certifique-se de que está na pasta raiz do repositório clonado. Este repositório contém um arquivo Dockerfile.windows . Este artigo utiliza o Windows Nano Server Long Term Servicing Channel (LTSC) 2022 como sistema operativo base, destacando explicitamente a nossa base Windows.

Nota

Embora este seja um contentor Windows, os caminhos ainda precisam de utilizar barras de avanço. Para mais informações, veja Write a Dockerfile.

  1. Inicie sessão no Azure CLI.

    az login
    
  2. Inicie sessão no Azure Container Registry.

    az acr login -n <your_registry_name>
    
  3. Construa a imagem do container. Este exemplo utiliza o nome da imagem dotnetcore-docs-hello-world-windows.

    docker build -f Dockerfile.windows -t <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-windows . 
    
  4. Enviar a imagem do contentor para o Azure Container Registry.

    docker push <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-windows:latest
    

    Nota

    O Dockerfile define o número da porta para 80 internamente. Para mais informações sobre como configurar o contentor, consulte Configurar contentor personalizado.

Implantar no Azure

Iniciar sessão no portal do Azure

Inicie sessão no portal Azure.

Criar recursos do Azure

  1. Escreva app services na pesquisa. Em Serviços, selecione Serviços de Aplicativo.

    Captura de ecrã da pesquisa por 'serviços de aplicação' no portal do Azure.

  2. Na página Serviços de Aplicativo , selecione Criar>Aplicativo Web.

  3. Na aba Principais, sob Detalhes do projeto, selecione a subscrição correta. Selecione Criar novo grupo de recursos. Insira myResourceGroup para o nome.

    Captura de ecrã da seção Detalhes do Projeto mostrando onde selecionar a subscrição do Azure e o grupo de recursos para a aplicação web.

  4. Em Detalhes da instância:

    • Introduza um nome globalmente único para a sua aplicação web.
    • Selecione Container.
    • Para o Sistema Operacional, selecione Linux.
    • Selecione uma região da qual deseja servir a sua aplicação.

    Captura de ecrã da secção de detalhes da Instância onde atribui um nome à máquina virtual e seleciona a sua região, imagem e tamanho.

  5. Em App Service Plan, selecione Criar novo App Service Plan. Insira myAppServicePlan para o nome. Para alterar o nível, selecione Explorar planos de preços, escolha um plano e clique em Selecionar na parte inferior da página.

    Captura de ecrã das opções do plano do App Service.

  6. No topo da página, selecione o separador Container.

  7. Na aba Container, para Origem da Imagem, selecione Azure Container Registry. Em Opções do Registro de Contêiner do Azure, defina os seguintes valores:

    • Registry: Selecione o seu Registo de Contentores do Azure.
    • Imagem: Selecione dotnetcore-docs-hello-world-linux.
    • Tag: Selecione o mais recente.

    Captura de ecrã mostrando as opções do Azure Container Registry.

  8. Selecione Revisar + criar no fundo da página.

    Captura de ecrã mostrando o botão Rever e criar na parte inferior da página.

  9. Após a execução da validação, selecione Criar.

  10. Depois de terminar a implementação, selecione Ir para o recurso.

    Captura de ecrã a mostrar o próximo passo de ir para o recurso.

Navegar para a aplicação

Aceda à aplicação implementada no seu navegador web através do URL http://<app-name>.azurewebsites.net.

Captura de ecrã do Windows App Service com a mensagem de que contentores sem porta exposta funcionam em modo de segundo plano.

O sistema operativo anfitrião aparece no rodapé, o que confirma que está a correr num contentor Windows.

Limpar recursos

Nos passos anteriores, criou recursos do Azure num grupo de recursos. Se não espera precisar destes recursos no futuro, pode eliminá-los apagando o grupo de recursos.

No menu do portal Azure ou na página Início, selecione Grupos de recursos. Em seguida, na página Grupos de recursos, selecione myResourceGroup.

Na página myResourceGroup, certifique-se de que os recursos listados são aqueles que deseja eliminar.

Selecione Eliminar grupo de recursos, digite myResourceGroup na caixa de texto para confirmar, e então selecione Eliminar.

Parabéns, concluíste com sucesso este guia de início rápido.

O aplicativo do App Service faz o download do registo de contêiner cada vez que inicia. Se reconstruir a sua imagem, basta enviá-la para o seu registo de contentores. O aplicativo obtém a imagem atualizada quando ela é reiniciada. Para instruir a sua aplicação a obter a imagem atualizada imediatamente, reinicie-a.

Azure App Service fornece pilhas de aplicativos predefinidas no Windows, como ASP.NET ou Node.js, que são executadas no IIS. As pilhas de aplicações pré-configuradas bloqueiam o sistema operativo e impedem o acesso de baixo nível. Contentores Windows personalizados não têm estas restrições. Permitem que os programadores personalizem totalmente os contêineres e dêem às aplicações em contêiner acesso completo à funcionalidade do Windows.

Este guia rápido ensina como implantar uma aplicação ASP.NET em uma imagem Windows do Microsoft Artifact Registry no Azure App Service.

Pré-requisitos

Conectar-se ao Azure

Inicie sessão na sua conta Azure utilizando o comando Connect-AzAccount e siga as instruções apresentadas.

Connect-AzAccount

Criar um grupo de recursos

Crie um grupo de recursos com o comando New-AzResourceGroup. Um grupo de recursos do Azure é um contêiner lógico no qual recursos do Azure são implantados e geridos.

O exemplo a seguir cria um grupo de recursos chamado myResourceGroup na localização eastus. Para ver todas as localizações suportadas pelo App Service, execute o comando Get-AzLocation.

New-AzResourceGroup -Name myResourceGroup -Location eastus

O comando retorna Login Succeeded.

Crie o seu Plano de Serviço de Aplicação

Crie um novo Plano de Serviço de Aplicações utilizando o comando New-AzAppServicePlan.

O exemplo a seguir cria um plano de serviço de aplicação chamado myAppServicePlan no escalão de preços PremiumV3 (-Tier PremiumV3). O parâmetro -HyperV especifica o container do Windows.

New-AzAppServicePlan -Name myAppServicePlan -Location eastus -ResourceGroupName myResourceGroup -Tier PremiumV3 -HyperV

Crie a sua aplicação web

Crie uma nova aplicação usando o comando New-AzWebApp:

New-AzWebApp -Name myWebApp -AppServicePlan myAppServicePlan -Location eastus -ResourceGroupName myResourceGroup -ContainerImageName mcr.microsoft.com/azure-app-service/windows/parkingpage:latest
  • O parâmetro Nome especifica o nome da aplicação web.
  • O parâmetro AppServicePlan especifica o nome do plano de serviço da aplicação.
  • O parâmetro de localização especifica a localização.
  • O parâmetro ResourceGroupName especifica o nome do Grupo de Recursos.
  • O parâmetro ContainerImageName especifica um Nome de Imagem do Contentor e uma etiqueta opcional.

O comando pode demorar alguns minutos a concluir.

Navegar para a aplicação

Aceda à aplicação implementada no seu navegador web através do URL http://<app-name>.azurewebsites.net.

Captura de ecrã do Windows App Service com a mensagem de que contentores sem uma porta exposta funcionam em modo de fundo.

Limpar recursos

Remova o grupo de recursos usando o comando Remove-AzResourceGroup:

Remove-AzResourceGroup myResourceGroup

Parabéns, concluíste com sucesso este guia de início rápido.

O aplicativo do App Service faz o download do registo de contêiner cada vez que inicia. Se reconstruir a sua imagem, basta enviá-la para o seu registo de contentores. O aplicativo obtém a imagem atualizada quando ela é reiniciada. Para instruir a sua aplicação a obter a imagem atualizada imediatamente, reinicie-a.

Azure App Service fornece pilhas de aplicativos predefinidas no Windows, como ASP.NET ou Node.js, que são executadas no IIS. As pilhas de aplicações pré-configuradas bloqueiam o sistema operativo e impedem o acesso de baixo nível. Contentores Windows personalizados não têm estas restrições. Permitem que os programadores personalizem totalmente os contêineres e dêem às aplicações em contêiner acesso completo à funcionalidade do Windows.

Este guia rápido ensina como implantar uma aplicação ASP.NET em uma imagem Windows do Microsoft Artifact Registry no Azure App Service.

Pré-requisitos

Conectar-se ao Azure

Inicie sessão na sua conta Azure utilizando o comando az login e seguindo as instruções:

az login

Criar um grupo de recursos

Crie um grupo de recursos com o comando az group create. Um grupo de recursos do Azure é um contêiner lógico no qual recursos do Azure são implantados e geridos.

O exemplo a seguir cria um grupo de recursos chamado myResourceGroup na localização eastus. Para ver todos os locais suportados pelo App Service, execute o comando az appservice list-locations.

az group create --name myResourceGroup --location eastus

Crie o seu Plano de Serviço de Aplicação

Crie um plano de serviço de aplicativos no grupo de recursos com o comando az appservice plan create.

O seguinte exemplo cria um plano de App Service denominado myAppServicePlan no nível de preços P1V3 (--sku P1V3).

az appservice plan create --resource-group myResourceGroup --location eastus --name myAppServicePlan --hyper-v --sku p1v3

Nota

Se encontrar o erro, O comportamento deste comando foi alterado pela seguinte extensão: appservice-kube, remova a extensão appservice-kube.

Crie a sua aplicação web

Crie uma aplicação web contêiner personalizado no myAppServicePlan plano do App Service com o comando az webapp create. Não se esqueça de substituir myContainerApp por um nome de aplicação único (os caracteres válidos são a-z, 0-9, e -).

az webapp create --name myContainerApp --plan myAppServicePlan --resource-group myResourceGroup --deployment-container-image-name mcr.microsoft.com/azure-app-service/windows/parkingpage:latest
  • O parâmetro Nome especifica o nome da aplicação web.
  • O parâmetro AppServicePlan especifica o nome do plano de serviço da aplicação.
  • O parâmetro de localização especifica a localização.
  • O parâmetro ResourceGroupName especifica o nome do Grupo de Recursos.
  • O parâmetro deployment-container-image-name especifica o nome de uma imagem de contêiner e uma tag opcional.

Navegar para a aplicação

Aceda à aplicação implementada no seu navegador web através do URL http://<app-name>.azurewebsites.net.

Captura de ecrã do Windows App Service com a mensagem de que contentores sem uma porta exposta funcionam em modo de fundo.

Limpar recursos

Remova o grupo de recursos utilizando o comando az group delete:

az group delete --no-wait --name <resource_group>

Parabéns, concluíste com sucesso este guia de início rápido.

O aplicativo do App Service faz o download do registo de contêiner cada vez que inicia. Se reconstruir a sua imagem, basta enviá-la para o seu registo de contentores. O aplicativo obtém a imagem atualizada quando ela é reiniciada. Para instruir a sua aplicação a obter a imagem atualizada imediatamente, reinicie-a.