Implantar um aplicativo Spring Boot no Linux no Serviço de Aplicativo do Azure
Este tutorial explica como usar o Docker
Pré-requisitos
Para concluir as etapas neste tutorial, você precisa ter os seguintes pré-requisitos:
- Uma assinatura do Azure; se você ainda não tiver uma assinatura do Azure, poderá ativar seus benefícios de assinante do MSDN ou inscrever-se para uma conta do Azure gratuita.
- ACLI (interface de linha de comando) do Azure.
- Um JDK (Java Development Kit) com suporte. Para obter mais informações sobre os JDKs disponíveis para uso ao desenvolver no Azure, consulte suporte a Java no Azure e no Azure Stack.
- ferramenta de build do Apache Maven (versão 3).
- Um cliente Git.
- Um cliente do Docker.
Nota
Devido aos requisitos de virtualização deste tutorial, você não pode seguir as etapas deste artigo em uma máquina virtual; você deve usar um computador físico com recursos de virtualização habilitados.
Criar o spring boot no aplicativo Web de introdução do Docker
As etapas a seguir percorrem as etapas necessárias para criar um aplicativo Web spring boot simples e testá-lo localmente.
Abra um prompt de comando e crie um diretório local para manter seu aplicativo e altere para esse diretório; por exemplo:
mkdir SpringBoot cd SpringBoot
Clone o exemplo de projeto Introdução ao Spring Boot no Docker para o diretório criado. Por exemplo:
git clone https://github.com/spring-guides/gs-spring-boot-docker.git
Altere o diretório para o projeto concluído. Por exemplo:
cd gs-spring-boot-docker/complete
Compilar o arquivo JAR usando o Maven; por exemplo:
mvn package
Depois que o aplicativo Web tiver sido criado, altere o diretório para o diretório
target
em que o arquivo JAR está localizado e inicie o aplicativo Web; por exemplo:cd target java -jar spring-boot-docker-complete-0.0.1-SNAPSHOT.jar --server.port=80
Teste o aplicativo Web navegando até ele localmente usando um navegador da Web. Por exemplo, se você tiver o curl disponível e tiver configurado o servidor Tomcat para ser executado na porta 80:
curl http://localhost
Você deverá ver a seguinte mensagem exibida: Hello Docker World
Criar um Registro de Contêiner do Azure para usar como um Registro privado do Docker
As etapas a seguir percorrem o uso do portal do Azure para criar um Registro de Contêiner do Azure.
Nota
Se você quiser usar a CLI do Azure em vez do portal do Azure, siga as etapas em Criar um registro de contêiner privado do Docker usando a CLI do Azure 2.0.
Navegue até o portal do Azure e conecte-se.
Depois de entrar em sua conta no portal do Azure, siga as etapas do artigo Criar um registro de contêiner privado do Docker usando o portal do Azure, que são parafraseadas nas etapas a seguir para conveniência.
Clique no ícone de menu de Novo, selecione Contêineres e escolha Registro de Contêiner do Azure.
Quando a página Criar registro de contêiner for exibida, insira o Nome do registro, a Assinatura, o Grupo de recursos e a Localização. Em seguida, selecione Criar.
Selecione Chaves de acesso em Configurações e ative a opção Habilitado atrás do Usuário administrador.
Configurar o Maven para criar imagem para o Registro de Contêiner do Azure
Navegue até o diretório de projeto concluído para seu aplicativo Spring Boot (por exemplo: C:\SpringBoot\gs-spring-boot-docker\complete ou /users/robert/SpringBoot/gs-spring-boot-docker/complete) e abra o arquivo pom.xml com um editor de texto.
Atualize a coleção
<properties>
no arquivo pom.xml com a versão mais recente do jib-maven-plugin, o valor do servidor de logon e as configurações de acesso para o Registro de Contêiner do Azure da seção anterior deste tutorial. Por exemplo:<properties> <jib-maven-plugin.version>3.2.0</jib-maven-plugin.version> <docker.image.prefix>wingtiptoysregistry.azurecr.io</docker.image.prefix> <java.version>1.8</java.version> </properties>
Adicione jib-maven-plugin à coleção
<plugins>
no arquivo pom.xml. Este exemplo usa a versão 3.2.0.Especifique a imagem base em
<from>/<image>
, aquimcr.microsoft.com/openjdk/jdk:11-ubuntu
. Especifique o nome da imagem final a ser criada a partir da base em<to>/<image>
.A autenticação
{docker.image.prefix}
é o Servidor de logon na página de registro mostrada anteriormente. O{project.artifactId}
é o nome e o número de versão do arquivo JAR da primeira compilação Maven do projeto.<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 de projeto concluído para seu aplicativo Spring Boot e execute o seguinte comando para recompilar o aplicativo e enviar o contêiner por push para o Registro de Contêiner do Azure:
az acr login --name wingtiptoysregistry && mvn compile jib:build
Nota
- O comando
az acr login ...
tentará fazer login no Registro de Contêiner do Azure, caso contrário, você precisará fornecer<username>
e<password>
para jib-maven-plugin, consulte Métodos de Autenticação no jib. - Quando você estiver usando o Jib para enviar sua imagem por push para o Registro de Contêiner do Azure, a imagem não usará o Dockerfile. Confira este documento para obter detalhes.
Criar um aplicativo Web no Linux no Serviço de Aplicativo do Azure usando sua imagem de contêiner
Navegue até o portal do Azure e conecte-se.
Clique no ícone de menu para Criar um recurso, selecione Computação , e em seguida selecione Aplicativo Web .
Quando a página Aplicativo Web no Linux for exibida, insira as seguintes informações:
Escolha uma Assinatura na lista suspensa.
Escolha um grupo de recursos existenteou especifique um nome para criar um novo grupo de recursos.
Insira um nome exclusivo para o nome do aplicativo ; por exemplo: wingtiptoyslinux
Especifique
Docker Container
para Publicar.No campo Sistema Operacional, escolha Linux.
Selecione a Região.
Aceite o Plano do Linux e escolha um Plano do Serviço de Aplicativo existente ou selecione Criar para criar um Plano do Serviço de Aplicativo.
Clique em Avançar: Docker.
Na página Aplicativo Web, selecione Docker e insira as seguintes informações:
Selecione Contêiner Único.
Registro: escolha seu contêiner, por exemplo: wingtiptoysregistry.
Imagem: selecione a imagem criada anteriormente, por exemplo: spring-boot-docker .
Tag: escolha a tag para a imagem, por exemplo: mais recente.
comando de inicialização: mantenha-o em branco, pois a imagem já tem o comando de inicialização
Depois de inserir todas as informações acima, selecione Examinar + criar.
- Selecione Examinar + criar.
Examine as informações e selecione Criar.
Quando a implantação for concluída, selecione Ir para o recurso. A página de implantação exibe a URL para acessar o aplicativo.
Nota
O Azure mapeará automaticamente as solicitações da Internet para o servidor Tomcat inserido que está em execução na porta – 80. No entanto, se você configurou seu servidor Tomcat inserido para ser executado na porta – 8080 ou porta personalizada, será necessário adicionar uma variável de ambiente ao seu aplicativo Web que defina a porta para o servidor Tomcat inserido. Para fazer isso, use as seguintes etapas:
Navegue até o portal do Azure e conecte-se.
Selecione o ícone para Aplicativos Web e selecione seu aplicativo na página de Serviços de Aplicativo .
Selecione Configuração no painel de navegação à esquerda.
Na seção de configurações do aplicativo , adicione uma nova configuração chamada WEBSITES_PORT e insira o número da porta personalizada como valor.
Selecione OK. Em seguida, selecione Salvar.
Limpar recursos
Quando não for mais necessário, use o portal do Azure para excluir os recursos criados neste artigo para evitar cobranças inesperadas.
Próximas etapas
Para saber mais sobre o Spring e o Azure, prossiga para o centro de documentação do Spring on Azure.
Consulte também
Para obter mais informações sobre como usar aplicativos Spring Boot no Azure, consulte os seguintes artigos:
Para obter mais informações sobre como usar o Azure com Java, consulte Azure para Desenvolvedores Java e Trabalhando com Azure DevOps e Java.
Para obter mais detalhes sobre o projeto de exemplo Spring Boot no Docker, consulte Introdução ao Spring Boot no Docker.
Para obter ajuda na introdução a seus próprios aplicativos Spring Boot, confira Spring Initializr em https://start.spring.io/.
Para obter mais informações sobre como começar a criar um aplicativo Spring Boot simples, consulte o Spring Initializr em https://start.spring.io/.
Para obter exemplos adicionais de como usar imagens personalizadas do Docker com o Azure, consulte Usando uma imagem personalizada do Docker para o Aplicativo Web do Azure no Linux.