Docker permite crear contenedores que aíslan procesos y aplicaciones con su propio sistema de archivos e interfaz de red. Esto facilita el desarrollo y despliegue de aplicaciones de la misma manera en cualquier entorno desde un equipo local hasta producción. Docker utiliza imágenes que actúan como plantillas y contenedores que ejecutan dichas imágenes de manera aislada.
2. ¿QUE ES DOCKER?
Tecnología que permite desarrollar, desplegar y ejecutar
aplicaciones utilizando containers.
3. ¿QUE ES UN CONTAINER?
Permite crear un entorno aislado, encapsulando procesos,
con interfaz de red y sistema de archivos propio.
4. VENTAJAS
Aislar el stack de tecnologías de otros proyectos en local.
Tecnologías y sus versiones se mantienen consistentes en
el equipo.
Poca fricción de nuevos integrantes del equipo, solo se
necesita instalar docker y ejecutar el container(s).
Al desplegarse el mismo container en el server, se evita el
“pero si me funciona en local! D:”.
Al containerizar servicios se pueden aislar y escalar
fácilmente según se necesite.
7. ¿COMO FUNCIONA?
Puedes crear imagenes para contener aplicaciones.
Compartir tus imágenes en Docker hub o en tu propio
registro.
Crear containers para ejecutarlas.
8. ¿COMO FUNCIONAN LAS IMÁGENES?
Template del sistema de archivos del container
Formada por capas usando Union File System
Al efectuar un cambio se graba en una nueva capa, y es solo
éste fragmento el que se construye y distribuye.
9. ¿COMO FUNCIONAN LOS CONTAINERS?
Template del sistema de archivos del container
Formada por capas usando Union File System
Al efectuar un cambio se graba en una nueva capa, y es solo
éste fragmento el que se construye y distribuye.
11. LANZANDO UN CONTAINER
Console
$ docker run it ubuntu /bin/bash
Docker busca la imagen en el host y de no estar la busca y
descarga del registro (Docker hub).
Crea un nuevo container.
Asigna un sistema de archivos con la imagen y agrega una
capa de lectura/escritura encima.
Asigna una interfaz de red que permite al container
comunicarse con el host.
Define una IP.
Ejecuta el proceso o aplicación especificado.
Captura y despliega el output de la aplicación.
12. TRABAJANDO CON UN CONTAINER
Viendo el estado de los containers podemos
Console
$ docker ps a
13. TRABAJANDO CON UN CONTAINER
Deteniendo un container
Console
$ docker stop < container_name >
14. TRABAJANDO CON UN CONTAINER
Volver a iniciar un container
Console
$ docker start < container_name >
15. TRABAJANDO CON UN CONTAINER
Retomar sesión en un container
Console
$ docker attach < container_name >