En esta clase explicamos qué es Docker, por qué resulta una solución ideal para el desarrollo y despliegue de aplicaciones, junto con los motivos de su éxito.
Veremos en una primera parte y de manera rápida una introducción teórica que nos ofrezca un conocimiento de base, que permita entender los conceptos relacionados con la virtualización y los contenedores.En esta introducción teórica estudiaremos los modelos de funcionamiento de lo que sería una solución basada en virtualización tradicional, y los modelos de trabajo que nos aportan los contenedores. El objetivo es entender conceptos de los que vamos a tratar durante el curso entero, como:
Contenedores
Imágenes
Volúmenes
Y por supuesto, donde encajan las piezas que ya conocemos en el desarrollo y la administración de sistemas tradicional, como los sistemas operativos, las dependencias, el software cliente / servidor que se tiene que instalar en las máquinas donde llevemos a producción, así como en nuestras máquinas para la etapa de desarrollo.
Luego comenzaremos una presentación práctica de Docker, en la que nos centramos en lo que sería el archivo dockerfile. Veremos para qué nos sirve este archivo y el tipo de código que contiene, con el tipo de operaciones y configuraciones más elementales que se especifican en él.
Una vez construimos nuestro primer dockerfile lo usaremos de base para la creación de contenedores, que pondremos en marcha y nos permitirán explorar las operaciones más comunes y elementales que se pueden hacer con ellos. Realizaremos el inicio y el apagado de contenedores, cómo crear varios contenedores a partir de la misma imagen, cómo acceder a ellos mediante la shell para realizar comandos, cómo crear archivos en ellos, que podremos verlos en nuestras carpetas en local, etc.
Paralelamente, la clase aborda multitud de preguntas generales sobre las tecnologías de virtualización con contenedores y de Docker en particular, que nos servirán para entender y dar los primeros pasos en este mundo.