Apache Tomcat es un servidor web de código abierto y un contenedor de servlets desarrollado por Apache Software Foundation (ASF).
Tomcat implementa las especificaciones Java Servlet y JavaServer Pages de Oracle y proporciona un entorno de servidor web HTTP Java puro para que se ejecute el código Java.
En este tutorial, aprenderemos cómo combinar Docker y Tomcat para implementar una aplicación Tomcat 'hola mundo' utilizando Tomcat como contenedor.
Requisitos:
Para seguir y utilizar con éxito las instrucciones y el código proporcionado en este tutorial, asegúrese de tener lo siguiente:
- Docker Engine instalado en su máquina host
- Instalé Java JDK en su máquina para probar su código Java (opcional)
- Un editor de texto para editar el código fuente y las configuraciones de Docker.
Una vez cumplidos los requisitos indicados, podemos continuar y aprender cómo implementar una aplicación Tomcat usando Docker.
Extraiga la imagen de Tomcat en Docker
Afortunadamente, no necesitamos configurar una imagen base que contenga todas las herramientas para ejecutar una aplicación Tomcat. Simplemente podemos usar la imagen de Tomcat desde Docker Hub.
Para extraer la imagen, podemos ejecutar el comando de la siguiente manera:
$ ventana acoplable tirar tomcat
Crear una aplicación Hola Mundo
El siguiente paso es crear la aplicación “Hello World”. Comience creando un directorio para almacenar su código fuente y navegue hasta el directorio.
$ mkdir Hola Mundo && cd Hola Mundo
Dentro del directorio raíz, cree una carpeta de aplicación web y cree una carpeta WEB-INF dentro de ella.
La estructura de su directorio debería verse así:
Hola Mundo /└── aplicación web
└── WEB-INF
3 directorios, 0 archivos
A continuación, navegue hasta el directorio WEB-INF y cree un archivo 'web.xml' con el siguiente código:
< Aplicación Web xmlns = 'http://xmlns.jcp.org/xml/ns/javaee'
xmlns: xsi = 'http://www.w3.org/2001/XMLSchema-instance'
xsi: esquemaUbicación = 'http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd'
versión = '4.0' >
< servlet >
< nombre-servlet > Hola Mundo nombre-servlet >
< clase de servlet > HolaMundoServlet clase de servlet >
servlet >
< mapeo de servlets >
< nombre-servlet > Hola Mundo nombre-servlet >
< patrón de URL >/ Hola patrón de URL >
mapeo de servlets >
Aplicación Web >
Guarde el archivo y cierre el editor.
De vuelta en la ventana de su terminal, cree un “HelloWorldServlet.java” dentro del directorio WEB-INF/classes.
$ mkdir clases$ tocar HelloWorldServlet.java
Agregue el contenido de la aplicación como se muestra a continuación:
importar javax.servlet.http. * ;
importar java.io. * ;
la clase pública HelloWorldServlet extiende HttpServlet {
vacío público doGet ( Solicitud HttpServletRequest, respuesta HttpServletResponse )
lanza ServletException, IOException {
respuesta.setContentType ( 'texto/html' ) ;
PrintWriter fuera = respuesta.getWriter ( ) ;
fuera.println ( '' ) ;
fuera.println ( '
fuera.println ( '
fuera.println ( '
¡Hola mundo!
' ) ;fuera.println ( '