Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Construyendo contenedores para aplicaciones Java con JIB

Construyendo contenedores para aplicaciones Java con JIB

Contenedores han sido un gran éxito en todo el mundo y tuvo un gran impacto en los desarrolladores gracias a Docker. Actualmente, Docker es usado en diferentes etapas del ciclo de vida de la aplicación. Con la finalidad de crear imágenes, los desarrolladores necesitan conocimiento de Docker el cual requiere tiempo y esfuerzo para hacerlo correcto. En esta sesion, mostraremos como construir y publicar imágenes gracias a JIB, una herramienta construida por Google.

Eddú Meléndez Gonzales

August 25, 2018
Tweet

More Decks by Eddú Meléndez Gonzales

Other Decks in Technology

Transcript

  1. Quién soy? - Ingeniero de Software - Co-organizador en las

    comunidades de Java, Jenkins, Cloud Native - Miembro Asociado del Java Community Process (JCP) - Contribuyente de Proyectos Open Source - Autor de Spring Boot Mybatis Starter
  2. Aprendiendo sobre Docker 1. Ir a Google… buscar info sobre

    Docker 2. Instalar Docker 3. Hack… docker pull… docker images... docker run…. 4. Buscar más info sobre Docker 5. Aprender instrucciones del Dockerfile: FROM, ADD, COPY, RUN, ENTRYPOINT 6. Construir imágenes desde el Dockerfile… docker build… 7. Ejecutar mi container… docker run… error error éxito!
  3. dockerfile-plugin de Spotify o docker-maven-plugin de Fabric8 Ventajas: • Integración

    con el build tool (Maven en este caso) Desventajas: • Requiere de un Dockerfile (en el caso de dockerfile-plugin, opcional para docker-maven-plugin) • Aún se requiere de Docker CLI
  4. JIB • Open Source container image builder • Construye contenedores

    Docker and OCI (Open Container Images) • Integrado con Maven y Gradle • No hay necesidad de escribir el Dockerfile o tener Docker instalado • Integrado con Google Container Registry (GCR), AWS Elastic Container Registry (Amazon ECR) y Docker Hub Registry • Usa distroless por defecto, otro proyecto de Google
  5. [INFO] Built and pushed image as gcr.io/javadaype-demo/spring-boot-jib:v1 [INFO] [INFO] ------------------------------------------------------------------------

    [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 02:11 min [INFO] Finished at: 2018-08-25T10:46:40-05:00 [INFO] ------------------------------------------------------------------------ [INFO] Built and pushed image as gcr.io/javadaype-demo/spring-boot-jib:v2 [INFO] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 10.670 s [INFO] Finished at: 2018-08-25T10:47:07-05:00 [INFO] ------------------------------------------------------------------------
  6. Gradle y JIB plugins { id 'com.google.cloud.tools.jib' version '0.9.9' }

    jib.to.image = 'gcr.io/my-project/image-built-with-jib'
  7. Qué sigue? Soy un desarrollador Java y quiero… • Mejorar

    mi productividad creando contenedores ◦ Usa jib ;) • Desplegar mis contenedores en producción ◦ Usa docker swarm #OkNo ◦ Usa Kubernetes! • Aprender Kubernetes • Mejorar mi productividad con Kubernetes ◦ Echale un vistazo a skaffold ◦ Skaffold integrada a build tools como maven y gradle, pronto! • Service mesh…. Istio!