Saltar la navegación

6. Construyendo mis propias imágenes

Hasta este capítulo hemos estado usando contenedores basados en imágenes de terceros que nos descargábamos desde DockerHub. En este capítulo vamos a realizar la personalización de las imágenes para que se adecúen a nuestras necesidades.

Esta personalización para conseguir nuestras propias imágenes la vamos a conseguir de dos maneras:

  • Partiendo de un contenedor que tenemos en ejecución y sobre el que hemos realizado modificaciones.
  • De manera declarativa a través del fichero Dockerfile y un proceso de construcción  que  veremos que puede ser manual o automático.

¿QUÉ ES PERSONALIZAR UNA IMAGEN?

Pero exactamente, ¿en qué consiste exactamente esto de la personalización de las imágenes?.

Si recordamos un poco los capítulos anteriores tras descargar las imágenes de DockerHub los contenedores que habíamos usado venían literalmente "pelados" incluyendo lo mínimo de lo mínimo para poder trabajar. Ni siquiera tenían cargados los repositorios y se queríamos instalar algo nuevo teníamos que ejecutar apt update (o similar).

Nosotros hemos instalado aplicaciones, hemos incluido el código de nuestras aplicaciones  y si hubiera sido necesario habríamos configurado los sistemas o servicios para adecuarlos a nuestras necesidades. Esto es precisamente personalizar los contenedores.

¿Pero qué objetivo conseguimos con esta personalización?. Lo que buscamos es distribuir nuestras imágenes para que puedan ser usadas sin problemas en cualquier sistema en el que docker esté instalado.

¿Y cómo encaja esto con nuestra práctica docente?. Pues se relaciona directamente con algunos de los objetivos que nos habíamos planteado al inicio del curso:

  • Al hacer nuestras propias imágenes podemos distribuirlas a los alumnos con TOTAL seguridad de que no van a tener ningún problema a la hora de acceder y ejecutar esas imágenes.
  • Si los alumnos tienen que entregar sus proyectos y lo hacen en un contenedor no vamos a tener que montar cada vez un entorno diferente con todas sus dependencias para poder poner en marcha dichos proyectos.
  • Podremos compartir nuestras imágenes con la comunidad de docentes.