Crear imágenes docker de tus proyectos java o angular







Para hacer portables nuestras aplicaciones, en el trabajo decidimos dockerizar tanto el backend como el frontend y luego desplegarlo en un cluster de kubernetes para su orquestación y control.

Aquí les comparto algunos tips de como lo hacemos con el equipo. Gracias a Roy Abel Sanchez por el aporte de los dockerfile.

Primera Alternativa:  JIB


Hay una forma muy sencilla con el plugin JIB que desarrollo google y que esta disponible tanto para maven como para gradle.



El contenido del plugin lo pueden ubicar en este link.

A continuación les dejo un vídeo para que vean como aplicarlo en sus proyectos como spring boot, por ejemplo.





Segunda Alternativa:  Creando un Dockerfile para tu backend


Otra alternativa es crear un archivo Dockerfile con este contenido:

#De la imagen que partimos
FROM openjdk:8-jre-alpine
RUN apk add --no-cache tzdata
ENV TZ='America/Lima'
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN apk --update add fontconfig ttf-dejavu
#Directorio de trabajo
WORKDIR /
RUN mkdir app && chmod 777 app
COPY target/fps-app-ws-mallapromocional-0.0.1-SNAPSHOT.jar /app
WORKDIR /app
#Exponemos el puerto 8080
EXPOSE 8080
#Comando que se ejecutará una vez ejecutemos el contendor
CMD ["java","-jar","fps-app-ws-mallapromocional-0.0.1-SNAPSHOT.jar"]

El contenido del archivo lo pueden ubicar en este link.

Para crear la imagen con este archivo ejecuta el siguiente comando:

docker build -t  .

Para luego ejecutarlo de esta forma:

docker run -d -p 8080:8080 --name    

Si quieres ver los logs y ver como anda:

docker logs

Para entrar al contenedor:

docker exec -it  sh



Y aquí les dejo un vídeo para que vean como aplicarlo.






Tercera Alternativa: Creando un dockerfile para tu frontend con angular


En la última parte de este post les muestro como nuestro dockerizar tus proyectos angular usando también un Dockerfile.

FROM nginx:1.11-alpine
# Se agregan metadatos a la imagen
LABEL Descripción="Web Malla Promocional" Autor="Arquitectura" Versión="v1.0.0"
RUN apk add --no-cache tzdata
ENV TZ=America/Lima
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
WORKDIR /
RUN cd var && mkdir www && cd www && mkdir html && cd html && mkdir fps-app-web-mallapromocional
WORKDIR /
RUN rm -r /etc/nginx/nginx.conf && rm -r /etc/nginx/conf.d/default.conf
COPY docker/nginx/nginx.conf /etc/nginx/
COPY docker/nginx/mallapromocional.conf /etc/nginx/conf.d/
# Se copian los ficheros hacia la carpeta de nginx
COPY dist/fps-app-web-mallapromocional /var/www/html/fps-app-web-mallapromocional

El contenido lo pueden ubicar aquí.


Y la forma de aplicarlo lo pueden ver en este vídeo.



Y eso es todo amigo. Si necesitan un apoyo, no duden en contactarnos.


Enjoy!

Joe







Share:

0 comentarios:

Publicar un comentario