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.
Você pode usar este Guia de início rápido para criar imagens de contêiner do aplicativo Java Spring Boot e enviá-lo por push para o Registro de Contêiner do Azure usando Maven e Jib. Maven e Jib são uma maneira de usar ferramentas de desenvolvedor para interagir com um registro de contêiner do Azure.
Pré-requisitos
- Uma assinatura do Azure; Inscreva-se para obter uma conta gratuita do Azure ou ative os benefícios de assinante do MSDN se ainda não tiver uma assinatura do Azure.
- Um Java Development Kit (JDK) suportado; Para obter mais informações sobre JDKs disponíveis ao desenvolver no Azure, consulte Suporte a Java no Azure e Azure Stack.
- CLI do Azure.
- A ferramenta de construção Maven do Apache (Versão 3 ou superior).
- Um cliente Git.
- Um cliente Docker.
- O assistente de credenciais do Docker ACR.
Criar e compilar uma aplicação Spring Boot no Docker
As etapas a seguir o orientam na criação de um aplicativo Web Java Spring Boot em contêiner e no teste local.
No prompt de comando, use o seguinte comando para clonar o projeto de exemplo Spring Boot on Docker Getting Started .
git clone https://github.com/spring-guides/gs-spring-boot-docker.gitAltere o diretório para o projeto completo.
cd gs-spring-boot-docker/completeUtilize o Maven para criar e executar o exemplo de aplicação.
mvn package spring-boot:runTeste a aplicação Web ao navegar para
http://localhost:8080ou com o seguinte comandocurl:curl http://localhost:8080
Você verá a seguinte mensagem exibida: Hello Docker World
Criar um registo de contentor do Azure com a CLI do Azure
Em seguida, você criará um grupo de recursos do Azure e seu ACR usando as seguintes etapas:
Faça logon na sua conta do Azure usando o seguinte comando:
az loginEspecifique a assinatura do Azure a ser usada:
az account set -s <subscription ID>Crie um grupo de recursos para os recursos do Azure utilizados neste tutorial. No comando a seguir, substitua os espaços reservados pelo seu próprio nome de recurso e um local como
eastus.az group create \ --name=<your resource group name> \ --location=<location>Crie um registro de contêiner privado do Azure no grupo de recursos, usando o comando a seguir. Certifique-se de substituir os marcadores de posição por valores reais. O tutorial publica a aplicação de exemplo como uma imagem do Docker neste registo em passos posteriores.
az acr create \ --resource-group <your resource group name> \ --location <location> \ --name <your registry name> \ --sku Basic
Submeter a aplicação para o registo de contentores via Jib
Finalmente, você atualizará a configuração do projeto e usará o prompt de comando para criar e implantar sua imagem.
Nota
Para fazer logon no registro de contêiner do Azure que você acabou de criar, você precisará ter o daemon do Docker em execução. Para instalar o Docker em sua máquina, aqui está a documentação oficial do Docker.
Faça logon no Registro de Contêiner do Azure a partir da CLI do Azure usando o comando a seguir. Certifique-se de substituir o espaço reservado pelo seu próprio nome de registo.
az config set defaults.acr=<your registry name> az acr loginO
az configcomando define o nome do Registro padrão a ser usado comaz acrcomandos.Navegue para o diretório de projeto concluído da sua aplicação Spring Boot (por exemplo, "C:\SpringBoot\gs-spring-boot-docker\complete" ou "/users/robert/SpringBoot/gs-spring-boot-docker/complete") e abra o ficheiro pom.xml com um editor de texto.
Atualize a
<properties>coleção no arquivo pom.xml com o XML a seguir. Substitua o placeholder pelo nome do registo e adicione uma propriedade<jib-maven-plugin.version>com valor2.2.0, ou uma versão mais recente do jib-maven-plugin.<properties> <docker.image.prefix><your registry name>.azurecr.io</docker.image.prefix> <java.version>1.8</java.version> <jib-maven-plugin.version>2.2.0</jib-maven-plugin.version> </properties>Atualize a coleção no arquivo pom.xml para que o elemento
<plugin>contenha uma entrada para ojib-maven-plugin, conforme mostrado no exemplo a seguir. Tenha em atenção que estamos a utilizar uma imagem base do Microsoft Container Registry (MCR),mcr.microsoft.com/openjdk/jdk:11-ubuntu, que contém um JDK suportado oficialmente para o Azure. Para outras imagens de base MCR com JDKs oficialmente suportados, consulte Instalar o Microsoft Build do OpenJDK.<plugin> <artifactId>jib-maven-plugin</artifactId> <groupId>com.google.cloud.tools</groupId> <version>${jib-maven-plugin.version}</version> <configuration> <from> <image>mcr.microsoft.com/openjdk/jdk:11-ubuntu</image> </from> <to> <image>${docker.image.prefix}/${project.artifactId}</image> </to> </configuration> </plugin>Navegue até o diretório completo do projeto para seu aplicativo Spring Boot e execute o seguinte comando para criar a imagem e enviar a imagem para o registro:
az acr login && mvn compile jib:build
Nota
Por motivos de segurança, a credencial criada por az acr login é válida apenas por 1 hora. Se você receber um erro 401 não autorizado , você pode executar o az acr login -n <your registry name> comando novamente para autenticar novamente.
Verificar a imagem do contêiner
Parabéns! Agora você tem sua compilação de aplicativo Java em contêiner no JDK suportado pelo Azure enviada para seu ACR. Agora você pode testar a imagem implantando-a no Serviço de Aplicativo do Azure ou puxando-a para local com o comando (substituindo o espaço reservado):
docker pull <your registry name>.azurecr.io/gs-spring-boot-docker
Próximos passos
Para obter outras versões das imagens oficiais da base Java suportadas pela Microsoft, consulte:
Para saber mais sobre o Spring e o Azure, avance para o centro de documentação relativa ao Spring no Azure.
Recursos Adicionais
Para obter mais informações, consulte os seguintes recursos:
- Azure para Programadores Java
- Trabalhar com o Azure DevOps e Java (Trabalhar com o Azure DevOps e Java)
- Introdução ao Spring Boot no Docker
- Spring Initializr
- Deploy a Spring Boot Application to the Azure App Service (Implementar uma Aplicação Spring Boot no Serviço de Aplicações do Azure)
- Utilizar uma imagem personalizada do Docker para as Aplicações Web do Azure no Linux