📘 Manual para principiantes: Servidor Apache en Docker sobre Debian
Este manual te guía paso a paso para instalar Docker, configurar Apache como servidor web y acceder desde cualquier navegador vía HTTP.
1. Verificar que Docker esté instalado
Abre la terminal y ejecuta:
Si ves algo como Docker version 20.x.x, Docker está instalado correctamente.
Si no está instalado, consulta el manual de instalación de Docker para Debian.
2. Crear carpeta para tu sitio web
Vamos a crear una carpeta en tu sistema donde estará el contenido web:
Ahora crea una página de prueba:
3. Ejecutar Apache en Docker
Usaremos la imagen oficial de Apache llamada httpd. Ejecuta este comando:
docker run -d \
-p 8080:80 \
-v ~/apache-web/html:/usr/local/apache2/htdocs/ \
--name apache-server \
httpd:latest
Este comando hace lo siguiente:
- -d: ejecuta el contenedor en segundo plano
- -p 8080:80: expone el puerto 80 del contenedor como 8080 en tu máquina
- -v: monta tu carpeta local como raíz web del contenedor
- httpd:latest: usa la imagen oficial de Apache
4. Probar el servidor web
Abre tu navegador y visita:
Deberías ver el mensaje: Servidor Apache en Docker.
Si estás en otra computadora de la red, usa la IP del servidor Debian:
5. Comandos útiles para gestionar Apache en Docker
| Comando | Descripción |
|---|---|
| docker ps | Ver contenedores activos |
| docker stop apache-server | Detener el servidor Apache |
| docker start apache-server | Iniciar el servidor Apache |
| docker logs apache-server | Ver registros del servidor |
| docker exec -it apache-server bash | Acceder al contenedor con terminal |
| docker rm -f apache-server | Eliminar el contenedor Apache |
6. Abrir el puerto 8080 en Debian (opcional)
Si usás UFW como firewall, ejecuta:
Esto permite el acceso externo al servidor web.
7. Fuentes recomendadas
✅ Conclusión
Con estos pasos, has creado tu primer servidor web con Apache dentro de Docker. Puedes modificar el contenido en ~/apache-web/html y ver los cambios en tiempo real. Este flujo es ideal para aprender, enseñar y desarrollar sitios web de forma modular y profesional.