Cómo añadir y configurar sitios web basados en contenedores Docker en ServBay
ServBay es un entorno de desarrollo web local compatible con macOS y Windows, que soporta múltiples lenguajes y stacks tecnológicos. Además de alojar sitios directamente con los paquetes integrados (como PHP, Node.js, Python, Go, Java, bases de datos, etc.), puedes aprovechar los contenedores Docker para ejecutar y gestionar tus sitios o servicios. Esta opción ofrece una flexibilidad extraordinaria, aislamiento y consistencia ambiental—especialmente útil para proyectos que requieren entornos o dependencias específicas.
En este artículo te explicamos paso a paso cómo añadir un sitio web operado por un contenedor Docker en ServBay y cómo integrarlo dentro de tu flujo de desarrollo usando la función de proxy inverso de ServBay.
Descripción general
Al configurar ServBay como proxy inverso, puedes redirigir solicitudes de dominios específicos hacia los puertos de servicios que se ejecutan dentro de contenedores Docker. ServBay se encarga del tráfico entrante (certificados HTTPS, resolución de dominio, etc.), mientras Docker se ocupa de ejecutar tu aplicación. Este modelo combina la interfaz de gestión sencilla de ServBay con el poderoso aislamiento de Docker.
A continuación, encontrarás las instrucciones para añadir y configurar un sitio web soportado por un contenedor Docker en ServBay.
Requisitos previos
Antes de comenzar, asegúrate de cumplir los siguientes requisitos:
- ServBay instalado y en ejecución: Ya tienes ServBay instalado y funcionando en macOS.
- Docker instalado y en ejecución: Docker Desktop u otro entorno Docker está instalado y el servicio de Docker está activo.
- Imagen y contenedor Docker disponibles: Has construido o descargado la imagen de Docker que incluye tu sitio o aplicación, y puedes iniciar un contenedor a partir de ella.
Pasos detallados para añadir un sitio web
Paso 1: Prepara y ejecuta el contenedor Docker
Primero, asegúrate de que tu contenedor Docker esté en marcha y el servicio interno (como el servidor web) esté escuchando en un puerto que hayas expuesto desde el contenedor al host (tu macOS) usando la opción de mapeo de puertos de Docker.
Por ejemplo, si tienes un contenedor Nginx sencillo escuchando en el puerto 80, puedes mapear el puerto 8080 del host al puerto 80 del contenedor con el siguiente comando:
bash
docker run -d --name my-nginx-servbay -p 8080:80 nginx
1
En este ejemplo, el servicio Nginx dentro del contenedor my-nginx-servbay
está escuchando en el puerto 80
, pero con el parámetro -p 8080:80
hemos mapeado el puerto 80
del contenedor al puerto 8080
del host. ServBay conectará con el puerto 8080
del host.
Adapta la configuración según tu aplicación y Dockerfile, asegurándote de que el servicio interno escuche el puerto correcto y lo mapees a un puerto disponible en el host.
Paso 2: Abre la interfaz de gestión de ServBay
Localiza el icono de la aplicación ServBay
en la carpeta de aplicaciones de macOS y haz doble clic para abrir la interfaz de gestión de ServBay.
Paso 3: Navega a la página de gestión de sitios web
Al iniciar ServBay, aparecerá la interfaz principal. En el menú de navegación a la izquierda, haz clic en la opción Sitios web
. Esto te llevará a la página de gestión de sitios de ServBay, donde puedes ver y configurar todos los sitios locales añadidos.
Ilustración: Haz clic en “Sitios web” en la barra lateral izquierda para acceder a la gestión de sitios.
Paso 4: Añadir un nuevo sitio web
En la parte inferior de la página de administración de sitios encontrarás un botón +
. Haz clic en este botón y ServBay desplegará un nuevo formulario a la derecha, donde deberás ingresar los datos de configuración para el nuevo sitio.
Ilustración: Haz clic en el botón “+” en la parte inferior para añadir un nuevo sitio.
Paso 5: Configura los parámetros del sitio web
En el formulario de configuración, rellena la siguiente información esencial:
- Nombre (Name): Asigna un nombre identificativo al sitio, por ejemplo
Docker Nginx Demo
. Este nombre solo se utiliza para la gestión interna en ServBay. - Dominio (Domain): Especifica el dominio local para acceder al sitio Dockerizado desde el navegador. Se recomienda usar el sufijo
.servbay.demo
para evitar conflictos con dominios públicos, por ejemplodocker.servbay.demo
. ServBay configurará automáticamente el archivo hosts de tu sistema para que este dominio apunte a127.0.0.1
. - Protocolo (Protocol): Selecciona el protocolo soportado por el sitio. Habitualmente, mantén la opción predeterminada
HTTP/HTTPS
. ServBay escuchará en los puertos HTTP (80) y HTTPS (443), gestionando el SSL según tu configuración. - Método de solicitud de certificado SSL (SSL Certificate Request Method): Se recomienda elegir
ServBay CA
. ServBay generará y administrará automáticamente un certificado SSL confiable firmado por ServBay User CA. Instalando ServBay Public CA en el llavero del sistema, el navegador podrá confiar estos certificados locales, facilitando el desarrollo y pruebas con HTTPS. Si tienes otra necesidad, puedes escogerACME
(ejemplo: certificados de Let's Encrypt) oCustom
(tu propio certificado). - Tipo de sitio web (Website Type): [Clave] Elige
Proxy inverso (Reverse Proxy)
. Esto indica que ServBay gestionará el tráfico para ese dominio y lo redirigirá al servicio backend que especifiques. - Dirección IP (IP Address): Ingresa la IP de escucha del servicio en tu host. En la mayoría de las configuraciones Docker locales será la dirección de loopback
127.0.0.1
. - Puerto (Port): Especifica el puerto que expuso el contenedor Docker en el host. Esto corresponde al
<puerto del host>
en el comandodocker run -p <puerto del host>:<puerto del contenedor>
. Por ejemplo, si usaste-p 8080:80
, escribe8080
en este campo.
Ilustración: Rellenar la configuración para el sitio Docker con proxy inverso.
Paso 6: Finaliza y guarda la configuración
Una vez completados todos los campos necesarios, haz clic en el botón Añadir (Add)
al pie del formulario.
ServBay procesará tu solicitud y añadirá automáticamente la regla proxy inversa correspondiente al archivo de configuración de su servidor web (como Caddy o Nginx), además de actualizar el archivo hosts del sistema para apuntar el dominio local que has definido.
Al guardar exitosamente, puede que ServBay tarde unos instantes en aplicar la configuración, entonces ya podrás acceder al dominio recién creado.
Paso 7: Accede al sitio web y utiliza las acciones rápidas
Cuando la configuración se haya guardado, vuelve a la página de administración de sitios y verás la nueva entrada. Asegúrate de que el estado se muestre como “activo”.
Ahora puedes acceder al sitio desde el navegador con el dominio especificado (por ejemplo, http://docker.servbay.demo
o https://docker.servbay.demo
). Si todo está correctamente configurado, ServBay reenviará las peticiones al servicio dentro del contenedor Docker y verás la página ofrecida por el contenedor.
En la lista de sitios ServBay ofrece varias acciones rápidas útiles:
- Abrir la raíz del sitio con IDE: (En sitios de tipo proxy inverso, este botón puede no estar disponible o dirigirse a la carpeta de configuración de ServBay, según la versión y configuración)
- Abrir el sitio en el navegador: Accede rápidamente al URL del sitio en una nueva pestaña.
- Ver registros del sitio: Visualiza los logs de acceso y errores para el sitio, muy útil en depuración.
- Pausar/activar el sitio: Deshabilita o habilita temporalmente la configuración proxy para ese sitio.
- Eliminar el sitio: Elimina la configuración del sitio en ServBay.
Ilustración: Botones de acciones rápidas en la lista de sitios de ServBay.
Consejos y buenas prácticas
- Estado del contenedor Docker: Verifica que el contenedor destino esté siempre activo, de lo contrario ServBay no podrá reenviar correctamente las peticiones.
- Mapeo de puertos: Revisa cuidadosamente que la configuración del mapeo de puertos de Docker (
-p
) y el puerto especificado en ServBay sean consistentes y que no haya otro servicio ocupando ese puerto en el host. - Firewall: Comprueba la configuración de firewall de macOS para asegurarte de que los puertos usados por ServBay (por defecto 80 y 443) y los expuestos por Docker estén abiertos.
- Modo de red de Docker: Usar el modo de red
bridge
por defecto y mapear puertos vía-p
es lo más sencillo. Si empleas el modohost
, ServBay puede conectar directamente con el puerto que escucha el contenedor, pero el modohost
puede provocar conflictos de puertos. - ServBay CA: Para desarrollo en HTTPS, se recomienda instalar ServBay Public CA. Así, los certificados generados localmente se reconocerán como seguros en el navegador, evitando advertencias.
Preguntas frecuentes y resolución de problemas (FAQ)
P: Tras añadir el sitio no se puede acceder, el navegador muestra error de conexión o tiempo de espera?
R: Revisa los siguientes puntos:
- Estado del sitio en ServBay: Confirma en la gestión de sitios que el estado sea “activo”.
- Estado del contenedor Docker: En una terminal ejecuta
docker ps
y verifica que el contenedor esté en funcionamiento. - Configuración de mapeo de puertos en Docker: Ejecuta
docker ps
y revisa la columnaPORTS
; el puerto del host (ejemplo:0.0.0.0:8080->80/tcp
o127.0.0.1:8080->80/tcp
donde8080
debe coincidir con el configurado en ServBay). - Servicio interno en el contenedor Docker: Asegúrate de que el web server (Nginx, Apache, app Node, etc.) escuche el puerto correcto y no tenga errores. Puedes revisar los logs con
docker logs <id o nombre del contenedor>
. - Logs en ServBay: Haz clic en el icono de logs en la lista de sitios ServBay y revisa los registros de accesos y errores; pueden mostrar detalles de problemas de proxy.
- Archivo hosts del sistema: ServBay lo gestiona automáticamente, pero puedes comprobar el archivo
/etc/hosts
para confirmar que el dominio apunte a127.0.0.1
. - Firewall: Asegúrate de que el firewall no bloquee los puertos utilizados por ServBay y Docker.
P: ¿Puedo gestionar los propios contenedores Docker desde ServBay?
R: ServBay está diseñado para gestionar servicios web locales, bases de datos y entornos de programación, además de enrutar el tráfico a servicios backend (incluido Docker). No incluye gestión integral del ciclo de vida de contenedores Docker (iniciar, detener, construir imágenes, etc.). Debes gestionarlos usando la CLI de Docker o la interfaz de Docker Desktop.
P: ¿Qué es ServBay CA y por qué debo instalarla?
R: ServBay CA (Autoridad Certificadora) es una solución de gestión de certificados de ServBay para desarrollo HTTPS local. ServBay User CA firma los certificados SSL de tus sitios web locales y ServBay Public CA es la raíz de confianza. Instalando ServBay Public CA en el llavero del sistema, el SO y el navegador confiarán los certificados locales, evitando advertencias de “conexión insegura”. Esto es fundamental para desarrollar y probar entornos HTTPS simulando producción en local.
Conclusión
Añadir un sitio web operado por un contenedor Docker en ServBay es un método eficiente y flexible, que convierte a ServBay en el centro de gestión de dominios y tráfico en tu entorno de desarrollo, mientras Docker proporciona aislamiento y facilidad para ejecutar aplicaciones. Con una sencilla configuración de proxy inverso puedes integrar con facilidad proyectos Dockerizados en tu flujo de trabajo ServBay. Siguiendo los pasos y consejos de este artículo, podrás levantar y gestionar tu sitio local Dockerizado sin complicaciones.