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.
Este tutorial mostra como usar o Docker para containerizar a sua aplicação Spring Boot e implementar a sua própria imagem Docker num host Linux no Serviço de Aplicações do Azure.
Pré-requisitos
Para completar os passos deste tutorial, precisa dos seguintes pré-requisitos:
- Uma subscrição do Azure; se ainda não tiver uma subscrição do Azure, ative os benefícios do assinante MSDN ou inscreva-se numa conta gratuita no Azure.
- O Azure Command-Line Interface (CLI).
- Um Java Development Kit (JDK) suportado. Para obter mais informações sobre os JDKs disponíveis para uso ao desenvolver no Azure, consulte suporte Java no Azure e Azure Stack.
- Apache Maven ferramenta de construção (Versão 3).
- Um Git cliente.
- Um cliente Docker .
Observação
Devido aos requisitos de virtualização deste tutorial, não pode seguir os passos deste artigo numa máquina virtual. Deve usar um computador físico com funcionalidades de virtualização ativadas.
Criar o aplicativo Web Spring Boot no Docker Getting Started
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 comandos e crie um diretório local para armazenar a sua aplicação, e mude para esse diretório; por exemplo:
mkdir SpringBoot cd SpringBootClone o Spring Boot no Docker Getting Started projeto de exemplo no diretório que você criou; Por exemplo:
git clone https://github.com/spring-guides/gs-spring-boot-docker.gitAlterar diretório para o projeto concluído; Por exemplo:
cd gs-spring-boot-docker/completeConstrua o arquivo JAR usando o Maven; Por exemplo:
mvn packageDepois de criada a aplicação web, altere o diretório para o
targetdiretório onde está localizado o ficheiro JAR e inicie a aplicação 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 curl disponível e tiver configurado o servidor Tomcat para ser executado na porta 80:
curl http://localhostVê a seguinte mensagem exibida: Olá Docker World
Criar um Azure Container Registry para usar como um registo privado Docker
As etapas a seguir mostram como usar o portal do Azure para criar um Registro de Contêiner do Azure.
Observação
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 inicie sessão.
Depois de iniciar sessão na sua conta no portal Azure, siga os passos no artigo Criar um registo privado de contentores Docker usando o portal Azure. Os passos seguintes parafraseiam essas instruções por uma questão de conveniência.
Selecione o ícone do menu para Novo, selecione Containers e depois selecione Azure Container Registry.
Quando aparecer a página Criar registo de contentores , introduza o nome do registo, Subscrição, Grupo de Recursos e Localização. Em seguida, selecione Criar.
Seleciona as teclas de acesso em Definições e ativa o interruptor Ativado para o utilizador Administrador.
Configurar o Maven para criar uma imagem no seu Registro de Contêiner do Azure
Vai ao diretório do projeto concluído para a tua aplicação Spring Boot - por exemplo, C:\SpringBoot\gs-spring-boot-docker\complete ou /users/robert/SpringBoot/gs-spring-boot-docker/complete - e abre o ficheiropom.xml com um editor de texto.
Atualize o conjunto
<properties>no ficheiro pom.xml com a versão mais recente dejib-maven-plugin, o valor do servidor de início de sessão e as definições de acesso do seu Azure Container Registry indicados na secçã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>Adiciona
jib-maven-pluginà<plugins>coleção no ficheiro 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 construir a partir da base em<to>/<image>.A autenticação
{docker.image.prefix}corresponde ao servidor de início de sessão na página do registo apresentada anteriormente. O{project.artifactId}é o nome e o número da 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>Vai ao diretório do projeto concluído da tua aplicação Spring Boot e executa o seguinte comando para reconstruir a aplicação e enviar o contentor para o teu Azure Container Registry:
az acr login --name wingtiptoysregistry && mvn compile jib:build
Observação
O comando az acr login ... tenta iniciar sessão no Azure Container Registry. Caso contrário, tem de fornecer <username> e <password> para jib-maven-plugin. Para saber mais, consulte Métodos de Autenticação em jib.
Quando usas o Jib para enviar a tua imagem para o Azure Container Registry, a imagem não usa o Dockerfile. Para obter mais informações, consulte este artigo.
Crie uma aplicação web no Linux no Serviço de Aplicações do Azure usando a imagem do seu contentor
Navegue até o portal do Azure e inicie sessão.
Selecione o ícone do menu para Criar um recurso, selecione Calcular e depois selecione Aplicação Web.
Quando aparecer a página Aplicação Web no Linux, introduza as seguintes informações:
Escolha a sua Subscrição na lista pendente.
Escolha um Grupo de Recursos existente ou especifique um nome para criar um novo Grupo de Recursos.
Insira um nome único para o nome da App; por exemplo: wingtiptoyslinux.
Especifique
Docker Containeraté para publicar.Para o campo Sistema Operacional, escolha Linux.
Selecione Região.
Aceite o Plano Linux e escolha um Plano de Serviço de Aplicativo existente, ou selecione Criar novo para criar um novo Plano de Serviço de Aplicativo.
Selecionar Próximo: Docker.
Na página do
Web App, selecione Docker e insira as seguintes informações:Selecione Contêiner Único.
Registro: Escolha seu contêiner, por exemplo: wingtiptoysregistry.
Image: Selecione a imagem criada anteriormente, por exemplo: spring-boot-docker.
Tag: Escolha a tag para a imagem, por exemplo: mais recente .
Comando de Arranque: Mantém em branco porque a imagem já tem o comando de iniciação.
Depois de introduzir todas as informações anteriores, selecione Rever + criar.
- Escolha Rever e criar.
Reveja as informações e selecione Criar.
Quando a implementação estiver concluída, selecione Ir para recurso. A página de implantação exibe a URL para acessar o aplicativo.
Observação
O Azure mapeia automaticamente os pedidos de Internet para o servidor Tomcat embutido que corre na porta 80. No entanto, se configurares o teu servidor Tomcat embutido para correr na porta 8080 ou numa porta personalizada, precisas de adicionar uma variável de ambiente à tua aplicação web que defina a porta para o teu servidor Tomcat embutido. Para adicionar a variável de ambiente, use os seguintes passos:
Navegue até o portal do Azure e inicie sessão.
Selecione o ícone do
Aplicações Web e selecione seu aplicativo na página Serviços de Aplicativo. Selecione Configuração
no painel de navegação à esquerda. Na secção das
Configurações do Aplicativo, adicione uma nova configuração denominada WEBSITES_PORT e insira o seu número de porta personalizado como valor.Selecione OK. Em seguida, selecione Salvar.
Limpar recursos
Quando já não precisares dos recursos, usa o portal do Azure para os apagar. Eliminar os recursos ajuda-o a evitar cobranças inesperadas.
Próximos passos
Para saber mais sobre o Spring e o Azure, continue para o centro de documentação do Spring on Azure.
Ver 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 o Azure for Java Developers e o Trabalhando com o Azure DevOps e o Java.
Para obter mais detalhes sobre o projeto de exemplo Spring Boot no Docker, consulte Spring Boot on Docker Getting Started.
Para obter ajuda com a introdução aos seus próprios aplicativos Spring Boot, consulte o 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 mais exemplos de como usar imagens Docker personalizadas com Azure, consulte Usar uma imagem Docker personalizada para Azure Web App no Linux.