Contenedores Docker: De Dockerfile a Contenedor en Ejecución

Contenedores Docker: De Dockerfile a Contenedor en Ejecución

Introducción: El Proceso de Creación de Contenedores con Docker

Contenerizando microservicios (Docker) | by Carlos Alberto Sacaca Bernachea  | Medium

Docker permite empaquetar aplicaciones y sus dependencias en contenedores ligeros, portátiles y eficientes. Este tutorial te llevará a través del proceso de creación de contenedores, desde escribir un Dockerfile hasta ejecutar un contenedor funcional.

Paso 1: Crear un Dockerfile

El Dockerfile es un archivo de texto que define las instrucciones para construir una imagen Docker. Es el punto de partida para empaquetar tu aplicación.

Ejemplo de Dockerfile:

Imaginemos que queremos crear un contenedor para una aplicación Node.js:

				
					# Usa una imagen base de Node.js  
FROM node:16  

# Define el directorio de trabajo dentro del contenedor  
WORKDIR /app  

# Copia el archivo package.json al contenedor  
COPY package*.json ./  

# Instala las dependencias de la aplicación  
RUN npm install  

# Copia el resto de los archivos de la aplicación  
COPY . .  

# Expone el puerto en el que la aplicación se ejecutará  
EXPOSE 3000  

# Define el comando que se ejecutará al iniciar el contenedor  
CMD ["npm", "start"]  

				
			

Paso 2: Construir una Imagen Docker con docker build

Una vez que tienes tu Dockerfile, puedes construir una imagen Docker ejecutando el comando docker build.

Comando:

				
					docker build -t nombre-de-la-imagen .  
				
			
  • -t: Permite asignar un nombre a la imagen.
  • .: Especifica el contexto de construcción, normalmente el directorio actual.

Ejemplo:

				
					docker build -t mi-app-node .  

				
			

Resultado: Se generará una imagen llamada mi-app-node que contiene tu aplicación Node.js y todas sus dependencias.

Paso 3: Ejecutar un Contenedor con docker run

Después de construir la imagen, puedes usar docker run para crear y ejecutar un contenedor basado en esa imagen.

Comando:

				
					docker run -d -p 3000:3000 --name mi-contenedor mi-app-node  
				
			
  • -d: Ejecuta el contenedor en segundo plano (modo detached).
  • -p: Mapea un puerto del host (3000) al puerto del contenedor (3000).
  • --name: Asigna un nombre al contenedor.
  • mi-app-node: Es el nombre de la imagen a usar.

Resultado: Tu aplicación estará disponible en el puerto 3000 del host.

Proceso Completo: Desde Dockerfile a Contenedor

  1. Crear un Dockerfile: Define las instrucciones para construir la imagen.
  2. Construir la Imagen: Usa docker build para convertir el Dockerfile en una imagen.
  3. Ejecutar el Contenedor: Usa docker run para crear y ejecutar un contenedor basado en la imagen.

Verificar el Proceso

  1. Listar Imágenes:

				
					docker images  

				
			
  • Este comando muestra las imágenes disponibles en tu máquina.

Listar Contenedores:

				
					docker ps  
				
			

Este comando muestra los contenedores en ejecución. Para listar todos los contenedores (incluidos los detenidos):

				
					docker ps -a  
				
			

Ejemplo Práctico: Crear y Ejecutar un Contenedor para Node.js

1. Escribir el Dockerfile:
Usa el ejemplo de Dockerfile proporcionado anteriormente.

2. Construir la Imagen:

				
					docker build -t mi-app-node .  
				
			

3. Ejecutar el Contenedor:

				
					docker run -d -p 3000:3000 --name mi-app-node-container mi-app-node  
				
			

4. Verificar la Aplicación:
Abre tu navegador y visita http://localhost:3000.

Conclusión

El proceso de creación de contenedores con Docker, desde un Dockerfile hasta un contenedor en ejecución, es fundamental para garantizar la portabilidad, escalabilidad y consistencia de tus aplicaciones. Comprender este flujo no solo mejora tu desarrollo, sino que también te prepara para implementar proyectos reales con mayor eficiencia.

Referencias:

Facebook
X
LinkedIn
Reddit
Pinterest
Threads

Post relacionados

Post recientes

Search