Creación de Imágenes Docker Personalizadas con Dockerfiles
Creando un Dockerfile
Para crear una imagen Docker personalizada, necesitarás crear un Dockerfile. Empieza creando un nuevo archivo llamado Dockerfile en el directorio de tu proyecto. Este archivo contendrá las instrucciones para construir tu imagen Docker.
Construyendo la Imagen Docker
Una vez que tengas tu Dockerfile listo, puedes construir la imagen Docker usando el comando docker build:
docker build -t labex/my-app:latest .
Este comando leerá el Dockerfile, ejecutará las instrucciones y creará una nueva imagen Docker con el nombre labex/my-app:latest. El . al final del comando especifica el contexto de construcción, que es el directorio donde se encuentra el Dockerfile.
Entendiendo el Proceso de Construcción
Cuando ejecutas el comando docker build, Docker ejecutará las instrucciones del Dockerfile paso a paso. Cada instrucción creará una nueva capa en la imagen, y Docker utilizará la caché de la imagen para optimizar el proceso de construcción.
graph TD
A[Dockerfile] --> B[Paso de Construcción 1]
B --> C[Paso de Construcción 2]
C --> D[Paso de Construcción 3]
D --> E[Imagen Docker]
Etiquetado y Empujado de la Imagen
Después de construir la imagen, puedes etiquetarla con una versión específica o etiqueta, y luego empujarla a un repositorio Docker, como Docker Hub, para que otros puedan usarla.
## Etiquetar la imagen
docker tag labex/my-app:latest labex/my-app:v1.0
## Empujar la imagen a Docker Hub
docker push labex/my-app:v1.0
Jalar y Ejecutar la Imagen
Una vez que la imagen esté disponible en un repositorio, puedes jalarla y ejecutar un contenedor basado en la imagen:
## Jalar la imagen de Docker Hub
docker pull labex/my-app:v1.0
## Ejecutar un contenedor desde la imagen
docker run -p 8000:8000 labex/my-app:v1.0
En la siguiente sección, discutiremos cómo optimizar las capas del Dockerfile para una mayor eficiencia.