Dockerfile: crear tu propia imagen
Un Dockerfile es un archivo de texto con las instrucciones para construir una imagen: el paquete que contiene tu app y todo lo que necesita para correr (sistema base, dependencias, código). Quien tenga Docker puede ejecutarla igual que en tu computadora.
Instrucciones básicas: • FROM → la imagen de partida. FROM node:20-alpine empieza con Node 20 en una versión liviana • WORKDIR → la carpeta de trabajo dentro de la imagen • COPY → copia archivos de tu proyecto a la imagen • RUN → ejecuta un comando al construir (por ejemplo, instalar dependencias) • CMD → el comando que se ejecuta cuando arranca el contenedor
Se construye con docker build -t mi-app . (el punto significa "usa esta carpeta") y se ejecuta con docker run -p 3000:3000 mi-app. El orden importa: se copia package.json antes que el resto del código para que Docker reutilice las dependencias ya instaladas y construya mucho más rápido.
# Dockerfile para una app Node.js
FROM node:20-alpine
# Directorio de trabajo
WORKDIR /app
# Copiar package.json primero (cache de dependencias)
COPY package*.json ./
RUN npm ci --production
# Copiar el resto del codigo
COPY . .
# Puerto que expone la app
EXPOSE 3000
# Comando para iniciar
CMD ["node", "server.js"]
# Construir la imagen
docker build -t mi-app:1.0 .
# Ejecutar
docker run -d -p 3000:3000 mi-app:1.0
# Ver logs
docker logs <container_id>
# Entrar al contenedor
docker exec -it <container_id> sh
Practica esta lección
Resuelve los ejercicios del curso de Docker & Kubernetes en la app, gratis y con corrección automática.
Empezar a practicar