Programación

1º DAM/DAW - Curso 2023-2024

User Tools

Site Tools


apuntes:tomcat-deploy

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
apuntes:tomcat-deploy [2024/03/30 19:48] Santiago Faciapuntes:tomcat-deploy [2024/03/30 20:00] (current) – [Desplegar utilizando Docker Compose] Santiago Faci
Line 61: Line 61:
 <code bash> <code bash>
 santi@zenbook:$ mvn tomcat7:redeploy santi@zenbook:$ mvn tomcat7:redeploy
 +</code>
 +
 +===== Desplegar utilizando Docker =====
 +
 +==== Crear la imagen de nuestra aplicación web ====
 +
 +<file bash Dockerfile>
 +FROM tomcat:9.0.58-jdk17-openjdk-slim
 +ADD ./target/ParqueNaturalApp /usr/local/tomcat/webapps/webapp
 +CMD ["catalina.sh", "run"]
 +</file>
 +
 +Crear la imagen:
 +
 +<code bash>
 +santi@zenbook:$ docker build -t webapp .
 +</code>
 +==== Desplegar utilizando Docker Compose ====
 +
 +El primer paso será crear, dentro del proyecto, un fichero donde definir las variables de aplicación que necesitemos. Eso se hace, habitualmente, creando un fichero ''.env'' donde, en este caso, definiremos valores como usuario, contraseña, base de datos y puerto donde MySQL escucha, asi como el puerto que queremos que utilice Tomcat.
 +
 +<file bash .env>
 +MYSQL_USER=test
 +MYSQL_PASSWORD=test
 +MYSQL_DATABASE=test
 +MYSQL_PORT=3306
 +
 +TOMCAT_PORT=8080
 +</file>
 +
 +A continuación crearemos el fichero ''docker-compose.yaml'' donde definiremos los dos servicios que necesitamos: nuestra aplicación web (utilizando la imagen que ya hemos creado) y un servidor MySQL.
 +
 +<file bash docker-compose.yaml>
 +version: "3.4"
 +name: parquenatural-webapp
 +services:
 +  mysql:
 +    image: mysql:8.0.33-debian
 +    container_name: mysql
 +    restart: unless-stopped
 +    env_file: ./.env
 +    environment:
 +      MYSQL_DATABASE: $MYSQL_DATABASE
 +      MYSQL_USER: $MYSQL_USER
 +      MYSQL_PASSWORD: $MYSQL_PASSWORD
 +      MYSQL_ROOT_PASSWORD: $MYSQL_PASSWORD
 +    ports:
 +      - $MYSQL_PORT:$MYSQL_PORT
 +    volumes:
 +      - db:/var/lib/mysql
 +    networks:
 +      - network1
 +  app:
 +    image: parquenatural
 +    container_name: parquenatural
 +    env_file: ./.env
 +    ports:
 +      - $TOMCAT_PORT:$TOMCAT_PORT
 +    depends_on:
 +      - mysql
 +    restart: on-failure
 +    networks:
 +      - network1
 +volumes:
 +  db:
 +networks:
 +  network1:
 +    name: parquenatural
 +</file>
 +
 +Para poner en marcha ambos contenedores:
 +
 +<code bash>
 +santi@zenbook:$ docker compose up -d
 </code> </code>
  
apuntes/tomcat-deploy.1711828133.txt.gz · Last modified: 2024/03/30 19:48 by Santiago Faci