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.
Este tutorial mostra como usar o Docker para colocar em contêiner seu aplicativo Spring Boot e implantar sua própria imagem do Docker em um host Linux no Serviço de Aplicativo do Azure.
Pré-requisitos
Para concluir as etapas neste tutorial, você precisa dos seguintes pré-requisitos:
- Uma assinatura Azure; se você ainda não tiver uma assinatura Azure, ative os benefícios do assinante do MSDN ou inscreva-se para uma conta de 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 neste 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 SpringBootClone 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.gitAltere o diretório para o projeto concluído. Por exemplo:
cd gs-spring-boot-docker/completeCompilar o arquivo JAR usando o Maven; por exemplo:
mvn packageDepois que o aplicativo Web for criado, altere o diretório para o
targetdiretório 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=80Teste 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://localhostVocê verá a seguinte mensagem exibida: Olá, 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 fazer login na sua conta no portal do Azure, siga as etapas descritas no artigo Criar um registro de contêiner Docker privado usando o portal do Azure. As etapas a seguir parafraseam essas instruções para fins de conveniência.
Selecione o ícone de menu Novo, selecione Contêineres e selecione 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 o Local. Em seguida, selecione Criar.
Selecione as chaves do Access em Configurações e ative a opção Habilitada para o usuário administrador.
Configurar o Maven para criar imagem para o Registro de Contêiner do Azure
Vá para 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 dejib-maven-plugin, insira 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-pluginao conjunto<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 entrada 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>Vá para o diretório de projeto concluído para seu aplicativo Spring Boot e execute o seguinte comando para recompilar o aplicativo e efetuar push do contêiner para sua Registro de Contêiner do Azure:
az acr login --name wingtiptoysregistry && mvn compile jib:build
Nota
O comando az acr login ... tenta entrar no Registro de Contêiner do Azure. Caso contrário, você precisará fornecer <username> e <password> para jib-maven-plugin. Para saber mais, consulte Métodos de Autenticação no jib.
Quando você usa o Jib para enviar sua imagem por push para o Registro de Contêiner do Azure, a imagem não usa o Dockerfile. Para obter mais informações, consulte este artigo.
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.
Selecione o í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 Containerpara 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.
Selecione 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 anteriores, 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
Azure mapeia automaticamente solicitações de Internet para o servidor Tomcat inserido que é executado na porta 80. No entanto, se você configurar o servidor Tomcat inserido para ser executado na porta 8080 ou em uma 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 adicionar a variável de ambiente, 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 você não precisar mais dos recursos, use o portal Azure para excluí-los. Excluir os recursos ajuda você a evitar encargos inesperados.
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 mais exemplos de como usar imagens personalizadas do Docker com Azure, consulte Usando uma imagem personalizada do Docker para Azure Aplicativo Web no Linux.