Apache Tomcat é um servidor web de código aberto e contêiner de servlet desenvolvido pela Apache Software Foundation (ASF).
O Tomcat implementa as especificações Java Servlet e JavaServer Pages da Oracle e fornece um ambiente de servidor web Java HTTP puro para o código Java ser executado.
Neste tutorial, aprenderemos como combinar Docker e Tomcat para implantar um aplicativo “hello world” do Tomcat usando o Tomcat como contêiner.
Requisitos:
Para seguir e usar com êxito as instruções e o código fornecidos neste tutorial, certifique-se de ter o seguinte:
- Docker Engine instalado em sua máquina host
- Instalou o Java JDK em sua máquina para testar seu código Java (opcional)
- Um editor de texto para editar o código-fonte e as configurações do Docker
Com os requisitos fornecidos atendidos, podemos prosseguir e aprender como implantar um aplicativo Tomcat usando Docker.
Extraia a imagem do Tomcat no Docker
Felizmente, não precisamos configurar uma imagem base que contenha todas as ferramentas para executar uma aplicação Tomcat. Podemos simplesmente usar a imagem do Tomcat do Docker Hub.
Para extrair a imagem, podemos executar o comando da seguinte forma:
$ Docker puxa Tomcat
Crie um aplicativo Olá Mundo
O próximo passo é criar o aplicativo “Hello World”. Comece criando um diretório para armazenar seu código-fonte e navegue até o diretório.
$ mkdir Olá Mundo && cd Olá Mundo
Dentro do diretório raiz, crie uma pasta webapp e crie uma pasta WEB-INF dentro dela.
Sua estrutura de diretórios deve ficar assim:
Olá Mundo /└── webapp
└── WEB-INF
3 diretórios, 0 arquivos
Em seguida, navegue até o diretório WEB-INF e crie um arquivo “web.xml” com o seguinte código:
< aplicativo web xmlns = 'http://xmlns.jcp.org/xml/ns/javaee'
xmlns: xsi = 'http://www.w3.org/2001/XMLSchema-instance'
xsi: esquemaLocation = 'http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd'
versão = '4,0' >
< servlet >
< nome do servlet > Olá Mundo nome do servlet >
< classe de servlet > HelloWorldServlet classe de servlet >
servlet >
< mapeamento de servlet >
< nome do servlet > Olá Mundo nome do servlet >
< padrão de URL >/ olá padrão de URL >
mapeamento de servlet >
aplicativo web >
Salve o arquivo e feche o editor.
De volta à janela do terminal, crie um “HelloWorldServlet.java” dentro do diretório WEB-INF/classes.
$ mkdir Aulas$ tocar HelloWorldServlet.java
Adicione o conteúdo do aplicativo conforme mostrado a seguir:
importe javax.servlet.http. * ;
importar java.io. * ;
classe pública HelloWorldServlet estende HttpServlet {
public void doGet ( Solicitação HttpServletRequest, resposta HttpServletResponse )
lança ServletException, IOException {
resposta.setContentType ( 'texto/html' ) ;
PrintWriter fora = resposta.getWriter ( ) ;
out.println ( '' ) ;
out.println ( '
out.println ( '
out.println ( '
Olá, mundo!
' ) ;out.println ( '