Saltar al contenido

Crear imágenes para el Docker Hub

La historia del desarrollo y despliegue de cualquier aplicación en Docker comienza con las imágenes de Docker. Pero, ¿necesitas saber cómo crear imágenes Docker? Veamos un ejemplo!

Supongamos que eres un desarrollador de software y quieres desarrollar una aplicación que necesita un entorno de ejecución en Python y algunas dependencias. Pero no sólo eso, necesitas ejecutarlo en tu máquina de nube y hacer que funcione igual que en tu máquina local.

Crear imágenes para el Docker Hub
Crear imágenes para el Docker Hub

Una forma de hacerlo es descargar e instalar Python en tu máquina, configurar las variables de entorno, instalar todas las dependencias de la aplicación y luego ejecutar la aplicación. Ahora, para ejecutar tu aplicación en el servidor, necesitas hacer estos pasos de nuevo. Para añadir una pizca de locura a esta situación, asume que quieres escalar esa aplicación y tienes que desplegarla en cien servidores más. Incluso si eres un programador muy trabajador, y estás listo para hacerlo todo, ¿qué pasa si, mientras revisas el código de tu aplicación, descubres un error o en su lugar, necesitas añadir una nueva característica? ¡Bingo!

Otra forma más eficiente de tratar este tipo de problemas es crear una imagen Docker de su aplicación. Para ello, necesitas tomar un tiempo de ejecución de Python como imagen y luego construir tu aplicación junto con este tiempo de ejecución de Python y todas sus dependencias. Este es un proceso fácil y de una sola vez. Pero, una vez que esa imagen esté lista, puedes desplegar tu aplicación en cualquier máquina Linux tantas veces como quieras. Esta aplicación se desplegará en contenedores y se llama “containerization”. Los contenedores son flexibles, ligeros, portátiles y escalables.

Sé que ahora estarán entusiasmados por crear su propia primera imagen pero, antes de eso, veamos qué son las imágenes y contenedores de Docker. De acuerdo con la documentación de Docker,

En esta guía, exploraremos y aprenderemos a crear imágenes Docker y empujarlas al Docker Hub.