🛠️ Requisitos Previos
Tener Docker Desktop instalado y abierto en tu computadora.
Tener VS Code instalado.
Instalar la extensión oficial de Docker en VS Code (creada por Microsoft).
🚀 Paso a Paso: Tu Servidor Web en Docker
Paso 1: Preparar tu espacio de trabajo
Crea una carpeta para tu proyecto y ábrela en VS Code. Vamos a crear una estructura básica de archivos. Necesitamos una carpeta para tu página web y un archivo de configuración para Docker.
Estructura del proyecto:
Plaintext
mi-proyecto-nginx/
├── html/
│ └── index.html
└── Dockerfile
Crea una carpeta llamada html.
Dentro de html, crea un archivo index.html y escribe un código simple:
HTML
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Mi Servidor en Docker</title>
<style>
body { font-family: sans-serif; text-align: center; background: #f4f4f9; padding-top: 50px; }
h1 { color: #333; }
p { color: #666; }
</style>
</head>
<body>
<h1>¡Hola desde mi contenedor Docker con Nginx! 🐳</h1>
<p>Este entorno es uniforme, rápido y no depende de mi sistema operativo local.</p>
</body>
</html>
Paso 2: Crear el archivo Dockerfile
El Dockerfile es la "receta de cocina" que le dice a Docker cómo construir tu imagen personalizada.
En la raíz del proyecto (fuera de la carpeta html), crea un archivo llamado exactamente Dockerfile (sin extensión, sin .txt).
Pega las siguientes instrucciones:
Dockerfile
# 1. Usamos la imagen oficial de Nginx basada en Linux Alpine (ultra ligera)
FROM nginx:alpine
# 2. Copiamos el contenido de nuestra carpeta html local al directorio donde Nginx busca los archivos web dentro del contenedor
COPY ./html /usr/share/nginx/html
# 3. Exponemos el puerto 80 (el puerto estándar para tráfico web HTTP)
EXPOSE 80
Paso 3: Construir la Imagen (Build)
Ahora vamos a empaquetar tu receta (Dockerfile) y tu código (index.html) en una Imagen de Docker.
Abre la terminal integrada de VS Code (Ctrl + Ñ o `Ctrl + ``).
Ejecuta el siguiente comando para construir la imagen (no olvides el punto . al final, que significa "busca el Dockerfile en esta carpeta actual"):
Bash
docker build -t mi-web-nginx .
Nota: -t sirve para darle un nombre (tag) a tu imagen, en este caso mi-web-nginx.
Paso 4: Encender el Contenedor (Run)
Ya tienes el contenedor guardado en tu "barco". Ahora vamos a bajarlo con la grúa y ponerlo a funcionar.
Ejecuta el siguiente comando en tu terminal:
Bash
docker run -d -p 8080:80 --name mi-contenedor-web mi-web-nginx
¿Qué significa este comando?
-d (Detached): Corre el contenedor en segundo plano para que puedas seguir usando tu terminal.
-p 8080:80 (Mapeo de puertos): Conecta el puerto 8080 de tu computadora real con el puerto 80 interno del contenedor.
--name mi-contenedor-web: Le da un nombre fácil de recordar a tu contenedor activo.
mi-web-nginx: Es el nombre de la imagen que creamos en el Paso 3.
Paso 5: ¡A probarlo!
Abre tu navegador web favorito e ingresa a la siguiente dirección:
👉 http://localhost:8080
Deberías ver tu página web con el mensaje de Docker y Nginx. ¡Felicidades! Acabas de fragmentar un entorno web completo dentro de tu máquina sin instalar Nginx directamente en tu sistema operativo.