Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

Simplifica tu Plataforma Tecnológica con Docker

Simplifica tu Plataforma Tecnológica con Docker

Presentación utilizada en el primer Docker Meetup de Panamá. Es una presentación introductoria del concepto de contenedores y un explicación técnica inicial de Docker.

Abdel G. Martínez L.

July 15, 2015
Tweet

More Decks by Abdel G. Martínez L.

Other Decks in Technology

Transcript

  1. SIMPLIFICA  TU  PLATAFORMA     TECNOLÓGICA  CON  DOCKER   1. 

    Hablemos  de  contenedores   2.  ¿Por  qué  debe  interesarte?   3.  Entendamos  los  conceptos   4.  ¿Por  qué  está  funcionando?   5.  Vamos  con  detalles  técnicos   6.  ¿En  qué  puedo  uBlizarlo?   7.  Es  momento  de  interactuar   8.  ¿Quiere  aprender  más?  
  2. Hablemos  de  contenedores   La   solución   fueron  

    los   contenedores   de   transporte  intermodal.     Un   contenedor   estándar   es   cargado   con   cualquier   bien,   y   se   manBene   sellado   hasta   llegar  a  su  desBno.     Se   puede   cargar,   descargar,   apilar   y   transportar   eficientemente   en   largas   distancias   y   transferido   de   un   medio   de   transporte  a  otro.  
  3. Hablemos  de  contenedores   Desde  hace  Bempo  se  ha  tratado

     de  resolver   esto:   parBciones,   dominios,   zonificación,   máquinas  virtuales,  entre  otros.     Es  un  motor  que  encapsula  carga  de  trabajo   en   contenedores   ligeros,   portables,   flexibles   y  auto-­‐suficientes.     Pueden  ser  manipulados  usando  operaciones   estándar   y   se   ejecuta   consistentemente   en   cualquier  plataforma  de  hardware.  
  4. ¿Por  qué  debe  interesarte?   Entonces,  ¿qué  es  Docker?  

    Docker   es   un   motor   de   código   abierto   que   automaBza   el   despliegue   de   cualquier   aplicación  como  un  contenedor  ligero,  portable   y  auto-­‐suficiente  que  se  ejecutará  virtualmente   en  cualquier  lugar.  
  5. ¿Por  qué  debe  interesarte?   Si  eres  desarrollador…   Entorno

     de  ejecución  portable,   seguro,  limpio  de  tu  aplicación.   Sin  preocupación  por   dependencias  faltantes,   paquetes  y  otros  puntos  de   dolor.   Cada  aplicación  se  ejecuta  en   su  contenedor  aislado,   permiBendo  múlBples   entornos.   AutomaBzación  de  pruebas,   integración  y  empaquetado   usando  scripts.   Elimina  la  preocupación  de   compaBbilidad  entre   plataformas.  
  6. ¿Por  qué  debe  interesarte?   Si  eres  administrador  de  sistemas…

      Hace  el  ciclo  de  vida   completo  más  eficiente,   consistente  y  repeBble.   Incrementar  la  calidad   del  código  producido   por  los  desarrolladores.   Eliminar  inconsistencias   entre  los  ambientes.   Soportar  la  segregación   de  funciones.   Mejorar  la  velocidad  y   confiabilidad  del   despliegue  conBnuo.   Asociar  los  problemas   comunes  de  las   máquinas  virtuales.  
  7. ¿Por  qué  debe  interesarte?   ¿Cuál  es  su  mayor  ventaja?

      Nos  lleva  un  paso  más  cerca  de   la   comodi>zación   de   los   servicios  computacionales.  
  8. Entendamos  los  conceptos   Contenedores   Las   aplicaciones  

    se   ejecutan   en   contenedores.   Para   crear   un   contenedor   necesitamos   una   imagen  y  un  comando  a  ejecutar.   $ docker run fedora:20 /bin/ echo 'Hello world' Hello world Imágenes   Son   estados   guardados   de   los   contenedores.   Para   crear   una   imagen  se  entregan  cambios  hechos   en  un  contenedor.   $ docker commit -m ”Agregamos el foo.txt" e25605a6d745 potty/foobar
  9. Entendamos  los  conceptos   Dockerfiles   Scripts  con  comandos  que

     son  necesarios  para  construir  imágenes  de  Docker.   FROM fedora MAINTAINER http://fedoraproject.org/wiki/Cloud RUN yum -y update && yum clean all RUN yum -y install python-pip && yum clean all ADD . /src RUN cd /src; pip install -r requirements.txt EXPOSE 8080 CMD ["python", "/src/index.py"]
  10. Entendamos  los  conceptos   Otros  amigos  de  Docker   Docker

      Engine   KitemaBc   Docker  Hub   Docker   Trusted   Registry   Docker   Machine   Docker   Swarm   Docker   Compose   Docker   Registry  
  11. ¿Por  qué  está  funcionando?   Desarrollador   Se  preocupa  por

     lo  que  está   dentro   del   contenedor:   código,   librerías,   gestor   de   paquetes,   aplicaciones   y   datos.  Todos  los  servidores   en   Linux   se   ven   igual   y   funcionan   de   una   manera   similar.   Se  preocupa  por  lo  que  está   fuera   del   contenedor:   bitácoras,   acceso   remoto,   monitorización  y  gesBón  de   redes.   Los   contenedores   trabajan  de  la  misma  forma:   inician,   terminan,   copian,   agregan,  migran.   Infraestructura  
  12. ¿En  qué  puedo  u;lizarlo?   Simplificación  de   configuración  

    ProducBvidad  del   desarrollador   Consolidación  de   servidores   MulB-­‐organización   Administración  de   línea  de  código   Aislamiento  de  la   aplicación   Capacidades  de   depuración   Despliegue  rápido  
  13. Es  momento  de  interactuar   $ docker run fedora:22 /bin/echo

    ’Docker Panama Meetup' Docker Panama Meetup Probemos  un  mensaje  que  diga  ‘Docker  Panama  Meetup’:   $ docker run -t -i fedora:22 /bin/bash root@ac7abd37bdd4:/# root@ac7abd37bdd4:/# pwd / root@ac7abd37bdd4:/# ls bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var Ahora  uBlicemos  una  consola  interacBva:  
  14. Es  momento  de  interactuar   $ docker run -d fedora:22

    /bin/sh -c "while true; do echo Panama; sleep 1; done" 1e5535038e285177d5214659a068137486f96ee5c2e85a4ac52dc83f2ebe4147 $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1e5535038e28 fedora:22 /bin/sh -c 'while tr 2 minutes ago Up 1 minute meetup_panama $ docker logs meetup_panama hello world . . . En  este  tutorial  ejecutaremos  un  demonio:  
  15. Es  momento  de  interactuar   $ docker stop meetup_panama meetup_panama

    $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES En  este  tutorial  ejecutaremos  un  demonio  (conBnuación):  
  16. ¿Quiere  aprender  más?   Documentación:   hjps://docs.docker.com     Repositorio

     Git:   hjps://github.com/docker     Canal  de  IRC:   #docker  @freenode     TwiQer:   @docker