Partilhar via


Implantar um aplicativo Spring Boot no Linux no Serviço de Aplicativo do Azure

Este tutorial explica como usar do Docker para colocar em contêiner seu aplicativo Spring Boot e implantar sua própria imagem do docker em um host Linux nodo Serviço de Aplicativo do Azure.

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 se inscrever para uma conta gratuita do 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, 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 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.

  1. Abra um prompt de comando e crie um diretório local para armazenar seu aplicativo e mude para esse diretório; Por exemplo:

    mkdir SpringBoot
    cd SpringBoot
    
  2. Clone 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.git
    
  3. Alterar diretório para o projeto concluído; Por exemplo:

    cd gs-spring-boot-docker/complete
    
  4. Construa o arquivo JAR usando o Maven; Por exemplo:

    mvn package
    
  5. Depois que o aplicativo Web tiver sido criado, altere o diretório para o diretório target onde 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
    
  6. Teste 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://localhost
    
  7. Você verá a seguinte mensagem exibida: Hello Docker World

    Explorar aplicação de exemplo localmente

Criar um Registro de Contêiner do Azure para usar como um Registro de Docker Privado

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.

  1. Navegue até o portal do Azure e inicie sessão.

    Depois de entrar na sua conta no portal do Azure, siga as etapas no artigo Criar um registro de contêiner privado do Docker usando o portal do Azure, que são parafraseadas nas etapas a seguir por uma questão de conveniência.

  2. Clique no ícone de menu para Novo, selecione Contentorese, em seguida, selecione Registo de Contentores do Azure.

    Criar um novo Registro de Contêiner do Azure

  3. Quando a página Criar Registro de contêineres for exibida, digite Nome do Registro, Assinatura , Grupo de recursos e Localização . Em seguida, selecione Criar.

    Definir definições do Registo de Contentor do Azure

  4. Selecione teclas de acesso em Configurações e ative a opção Ativado atrás do usuário Admin.

    Habilitar a interface do usuário administrador no portal do Azure

Configurar o Maven para criar uma imagem no seu Registro de Contêiner do Azure

  1. 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.

  2. Atualize a coleção de no arquivo pom.xml com a versão mais recente dojib-maven-plugin, o valor do servidor de logon e as configurações de acesso para seu Registro de Contêiner do Azure na 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>
    
  3. 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>, aqui mcr.microsoft.com/openjdk/jdk:11-ubuntu. Especifique o nome da imagem final a ser construída a partir da base em <to>/<image>.

    O de autenticação é o do servidor de Login na página do Registro mostrada 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>
    
  4. Navegue até o diretório de projeto concluído para seu aplicativo Spring Boot e execute o seguinte comando para reconstruir o aplicativo e enviar o contêiner para o Registro de Contêiner do Azure:

    az acr login --name wingtiptoysregistry && mvn compile jib:build
    

Observação

  1. O comando az acr login ... tentará iniciar sessão no Registo de Contentores Azure, caso contrário, terá de fornecer <username> e <password> para o jib-maven-plugin, consulte Métodos de Autenticação no jib.
  2. Quando você estiver usando o Jib para enviar sua imagem para o Registro de Contêiner do Azure, a imagem não usará o Dockerfile. Consulte este documento para obter detalhes.

Criar um aplicativo Web no Linux no Serviço de Aplicativo do Azure usando sua imagem de contêiner

  1. Navegue até o portal do Azure e inicie sessão.

  2. Clique no ícone de menu para Criar um recurso, selecione de computação e, em seguida, selecione de aplicativo Web .

    Criar um novo aplicativo Web no portal do Azure

  3. Quando for visualizada a página Web App no Linux, insira 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 exclusivo para o App name; por exemplo: wingtiptoyslinux

    • Especifique Docker Container até 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.

    • Clique em Avançar: Docker.

    Clique no botão Next: Docker para continuar.

    Na página do Web App, selecione Dockere 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 .

    • Startup Command: Mantenha-o em branco, pois a imagem já tem o comando start up

    Depois de inserir todas as informações acima mencionadas, selecione Revisão + criar.

    Concluir selecionando Revisar + Criar.

    • Escolha Rever e criar.

Reveja as informações e selecione Criar.

Quando a implantação estiver concluída, selecione Ir para o recurso. A página de implantação exibe a URL para acessar o aplicativo.

Obter URL de implantação

Observação

O Azure mapeará automaticamente as solicitações da Internet para o servidor Tomcat incorporado que está sendo executado na porta - 80. No entanto, se você configurou seu servidor Tomcat incorporado para ser executado na porta - 8080 ou na porta personalizada, precisará adicionar uma variável de ambiente ao seu aplicativo Web que defina a porta para o servidor Tomcat incorporado. Para fazer isso, use as seguintes etapas:

  1. Navegue até o portal do Azure e inicie sessão.

  2. Selecione o ícone do Web Appse selecione seu aplicativo na página Serviços de Aplicativo .

  3. Selecione Configuração no painel de navegação à esquerda.

  4. 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.

  5. Selecione OK. Em seguida, selecione Salvar.

Guardar um número de porta personalizado no portal do Azure

Limpar recursos

Quando não for mais necessário, use o do portal do Azure para excluir os recursos criados neste artigo para 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 obter exemplos adicionais de como usar imagens personalizadas do Docker com o Azure, consulte Usando uma imagem personalizada do Docker para o Azure Web App no Linux.