Despliegue de aplicaciones Java
Tarea 1: Desarrollo y despliegue de una aplicación Java simple
De forma similar a lo que hemos hecho en el Taller 1, despliegue de forma manual la aplicación Java que encontrarás en el repositorio https://github.com/josedom24/rock-paper-scissors.
Tarea 2: Despliegue de un CMS Java
Aunque Java se utiliza normalmente para desarrollar aplicaciones a medida, tenemos varios CMS construidos con Java: Wikipedia - List of content management systems Java.
En esta tarea vamos a hacer un despliegue sencillo de una aplicación Java: OpenCMS. El problema que tenemos que este CMS no es compatible con tomcat10, pero no hay problemas lo vamos a instalar sobre un contenedor docker:
- Puedes seguir esta guía para trabajar con tomcat en docker: Configuración de imágenes con una aplicación Java.
- Puedes seguir la documentación de OpenCMS.
- Tienes que descargar el fichero war para realizar el despliegue. Enlace.
- Necesitas una base de datos MariaDB para que el CMS funcione. Lo más fácil es crear un docker compose que te ayude a desplegar los dos contenedores.
Cuando este desplegado, accede a la aplicación y realiza alguna modificación para que aparezca tu nombre en la página principal.
Despliega la aplicación rock-paper-scissors en este contenedor con tomcat.
Tarea 3: Acceso a las aplicaciones
Cuando trabajamos con tomcat no se accedemos directamente al servidor de aplicaciones, se instala un proxy inverso que nos permita el acceso a las aplicaciones.
Vamos a instalar un proxy inverso en un contenedor docker con la imagen nginx
. En el contenedor vamos a montar con bind mount el fichero de configuración de nginx. Puedes ver un ejemplo en el artículo Despliegue de Apache Tomcat + nginx. Tienes que configurar el proxy inverso para acceder a las aplicaciones con las siguientes urls:
- A la aplicación rock-paper-scissors se accede con la url
java.tunombre.org/game
. - A la aplicación OpenCMS se accede con la url
java.tunombre.org
.
Añade a tu docker Compose otro servicio para levantar el proxy inverso. Evidentemente el contenedor de nginx será el único que exponga el puerto para acceder a la aplicación.
- Configuración del proxy inverso para acceder a las aplicaciones cómo nos indica la práctica.
- Acceso desde un navegar web a la aplicación rock-paper-scissors con la url
java.tunombre.org/game
. - Acceso desde un navegar web a la aplicación OpenCMS con la url
java.tunombre.org
.