Guía paso a paso para levantar un servidor web con Nginx en Docker (voseo)
Introducción
Si querés levantar un servidor web usando Nginx dentro de un contenedor Docker y ver la página por defecto en el navegador, tenés una solución rápida y eficiente. Este artículo te guía desde el principio hasta el final, con comandos ejecutables y salidas esperadas. Ideal para desarrolladores o personas que quieren entender cómo funciona la containerización.
A quién va dirigido
Este tutorial está orientado a quienes ya tengan Docker instalado y deseen aprender a desplegar servicios web de forma sencilla. No se requiere experiencia avanzada en Docker, solo seguir los pasos con atención.
Qué aprenderás
- Cómo descargar y ejecutar una imagen de Nginx en Docker.
- Cómo mapear puertos para acceder al servidor desde tu navegador.
- Cómo verificar que el contenedor está funcionando correctamente.
Desarrollo
Paso 1: Asegurarte de tener Docker instalado
Antes de empezar, tenés que verificar que Docker está instalado y corriendo en tu sistema. Podés hacerlo con los siguientes comandos:
# Verificar la versión de Docker
docker --version
# Verificar si el servicio Docker está activo
systemctl status dockerSalida esperada:
- Si Docker está instalado, verás la versión (ej.
Docker version 20.10.12, build...). - Si el servicio está activo, saldrá un mensaje como
Active: active (running).
Error común: Docker no instalado
Si al ejecutar docker --version te da un error, tenés que instalar Docker según el sistema operativo que usás (Linux, Windows o macOS).
Paso 2: Descargar la imagen de Nginx en Docker
Para levantar un servidor web, usamos una imagen lista de Nginx. Ejetsú el siguiente comando:
# Descargar la imagen oficial de Nginx
docker pull nginxSalida esperada:
- Se descargará la imagen
nginxdesde Docker Hub. La salida mostrará porcentajes de descarga y confirmará al final con algo comoSuccessfully pulled image....
Si ya tenés la imagen, Docker la reutilizará sin necesidad de descargarla de nuevo.
Paso 3: Levantar un contenedor con Nginx
Ahora levantamos el contenedor. Este comando creará un contenedor queejecuta Nginx y mapea el puerto 80 del contenedor al puerto 8080 de tu máquina:
# Levantar el contenedor en modo detached (-d) y mapear el puerto
docker run -d -p 8080:80 nginxSalida esperada:
- Docker asignará un ID único al contenedor (ej.
a1b2c3d4e5f6). - Un mensaje similar a
Started a1b2c3d4e5f6_1 on port 8080/tcp.
Explicación de los parámetros:
-d: Ejecuta el contenedor en segundo plano.-p 8080:80: Mapea el puerto 80 del contenedor (donde corre Nginx) al puerto 8080 de tu máquina.
Paso 4: Verificar que el contenedor esté corriendo
Podés revisar el estado de los contenedores activos con:
docker psSalida esperada:
- Verás una fila con el ID del contenedor, la imagen
nginx, el puerto 8080 y el estadoUp.
Paso 5: Acceder al servidor desde el navegador
Abrí un navegador y escribí http://localhost:8080. Si todo está bien, verás la página de prueba de Nginx, que muestra un mensaje como Welcome to nginx!.
Salida esperada en el navegador:
- Página con texto
Welcome to nginx!y un enlace ahttp://nginx.org/.
Paso 6: Detener el contenedor (opcional)
Si querés detener el contenedor, usá:
docker stop a1b2c3d4e5f6Salida esperada:
- El contenedor se detendrá y ya no aparecerá en
docker ps.
Buenas prácticas y errores comunes
Recomendaciones útiles
- Usar un puerto diferente: Si el puerto 8080 ya está en uso, cambia a otro (ej.
-p 8000:80). - Nomenclatura clara: Si levantás múltiples contenedores, asignáles nombres con
docker run -d --name mi-nginx nginx. - Persistencia de datos: Para guardar configuraciones o archivos, usá
docker volumeo montar un volumen con-v. - Actualizar imágenes: Usá
docker pull nginxperiódicamente para obtener mejoras.
Errores comunes
- Port conflict: Si otro servicio usa el puerto 8080, cambiá el mapeo de puertos.
- Docker no corriendo: Verificá que el servicio Docker esté activo con
systemctl status docker. - Permisos: Si tenés problemas con permisos, corré los comandos con
sudo(en Linux).
Conclusión
Con estos pasos, tenés un servidor web con Nginx en Docker funcionando en minutos. La ventaja de este enfoque es que el entorno es aislado, portable y fácil de escalar. Para seguir aprendiendo, podés personalizar la configuración de Nginx o integrar aplicaciones web en el contenedor.
Próximos pasos
- Aprender a configurar Nginx para servir aplicaciones personalizadas.
- Explorar Docker Compose para levantar múltiples servicios en un solo comando.
¡Espero que este tutorial te sirva para empezar a jugar con Docker y Nginx! Si tenés dudas, dejá un comentario abajo.
DUGLAS MORENO
Comentarios (0)
Sé el primero en comentar.