ES
Inicia sesión Crea tu cuenta

¿Cómo instalar Docker en Saplo (imagen propia o docker-compose)?

Docker es la opción más flexible en el catálogo de Saplo: simplemente proporcionas tu propio Dockerfile o docker-compose.yml, y Saplo construye y ejecuta la imagen. Si una aplicación no está disponible como una receta predefinida pero tiene una imagen oficial de Docker, es probable que puedas instalarla aquí.

Grzegorz Kalmus ·

Docker no es un stack tecnológico específico, sino un entorno de ejecución: proporcionas tu propio Dockerfile o docker-compose.yml, y Saplo construye la imagen y la ejecuta. Es la opción más flexible de todo el catálogo: si la aplicación no está disponible como una receta lista para usar (Ghost, n8n, WordPress y otras), pero tiene una imagen Docker oficial o un archivo compose, probablemente la podrás instalar aquí mismo, sin esperar a que Saplo añada una receta dedicada.

Para quién es Docker en Saplo

Antes de empezar la instalación, comprueba si es una buena opción para tu proyecto:

  • Aplicación con imagen Docker preconfigurada - la herramienta que quieres ejecutar publica una imagen oficial en Docker Hub o GHCR.
  • Varios servicios en un solo archivo docker-compose - la aplicación más la base de datos, caché o worker en un solo docker-compose.yml.
  • Herramienta no disponible en el catálogo como receta individual - Docker permite el acceso a cualquier software con imagen, sin necesidad de esperar una receta dedicada.
  • Tienes un proyecto con tu propio Dockerfile y quieres control total sobre el entorno de ejecución - dependencias, versiones de bibliotecas del sistema, todo lo defines tú.

Si tu proyecto es Django con un Dockerfile ya preparado, considera también la pila dedicada de Django - Saplo la construirá de forma nativa (gunicorn, nginx para archivos estáticos) sin necesidad de escribir tu propia imagen.

Requisitos

Para instalar Docker en Saplo, necesitas:

  • Un Box en el plan L o superior - construir una imagen requiere más recursos que una construcción estática normal, y LXC debe tener el demonio de Docker en funcionamiento (nesting=1),
  • Un mínimo de 512 MB de RAM libre y 3 GB de espacio en disco solo para el iniciador; las imágenes y construcciones más pesadas requieren más,
  • Un dominio o subdominio *.saploapp.pl incluido en el precio de cada plan,
  • Un repositorio Git, si quieres utilizar la implementación automática (opcional para empezar, también puedes subir la aplicación como un archivo .zip a través del panel).

Instalación paso a paso

  1. En el panel de Saplo, ve al Catálogo de aplicaciones y selecciona Docker (categoría "Aplicaciones").
  2. Indica el Box en el plan L o superior y el nombre de la aplicación - a partir de este se creará un subdominio por defecto.
  3. Confirma la instalación. El motor instalará Docker CE y el plugin Docker Compose en tu Box, si aún no los tiene.
  4. Se crea un iniciador docker-compose.yml con la imagen nginxdemos/hello mapeada al puerto de la aplicación, ejecutado con la opción restart: unless-stopped - para que haya algo que ver en el dominio de inmediato, antes de que despliegues tu propio proyecto.
  5. Una vez finalizada la instalación, el dominio del paso 2 mostrará el contenedor de inicio funcionando - a partir de este momento, lo reemplazarás con tu propia imagen o archivo compose.

Despliega tu propio código con Git

  1. En los detalles de la aplicación, busca la sección Git / CI-CD y haz clic en "Conectar GitHub", confirma la instalación de la aplicación "Saplo Deploy" y especifica el repositorio con el proyecto.
  2. En el repositorio, coloca Dockerfile en la raíz del proyecto o docker-compose.yml, si la aplicación consta de varios servicios. Saplo detectará qué variante hay en el repositorio y construirá en consecuencia.
  3. En el archivo saplo.yaml, indica el puerto en el que escucha tu aplicación, utilizando el campo expose - nginx dirigirá el tráfico desde 80/443 hacia él.
  4. Confirma y envía los cambios a la rama de producción (por defecto main). Cada git push subsiguiente construye una nueva imagen y reemplaza el contenedor.
  5. La imagen se construye directamente en tu Box. Las construcciones más pesadas (grandes dependencias, compilación nativa) requieren un plan superior.

Ejemplo de un archivo saplo.yaml mínimo para Docker:

name: my-project
stack: docker
expose: 8080

Docker en Saplo vs. alternativas

VPS propio con Docker Railway / Render (despliegue con Dockerfile) Docker en Saplo
Configuración del demonio de Docker lo haces tú mismo totalmente administrado preinstalado, el motor añade los elementos que faltan
Despliegues desde Git tienes que montarlo tú mismo (CI/CD, webhooks) sí, de forma nativa sí, git push a la rama de producción
Facturación coste fijo del servidor consumo de recursos, aumenta con el tráfico coste fijo del Box
Varios servicios en un mismo proyecto (compose) lo configuras tú mismo normalmente limitado a un solo contenedor docker-compose.yml detectado automáticamente

Preguntas frecuentes

Dockerfile o docker-compose, ¿cuál elegir? Ambos funcionan. Dockerfile es suficiente para un solo servicio, elige docker-compose cuando la aplicación necesite varios contenedores juntos, por ejemplo, servicios más Redis.

¿Puedo tener varios contenedores en un solo archivo compose? Sí, todo el archivo docker-compose.yml se ejecuta junto, manteniendo la red entre los servicios.

¿La imagen se construye en mi Box o externamente? En tu Box, de ahí los requisitos de plan más altos para compilaciones pesadas que para páginas estáticas simples.

¿Qué pasa con los datos que deben sobrevivir al reinicio del contenedor? Los volúmenes funcionan como en Docker normal. Recuerda activar la copia de seguridad en la configuración de la aplicación si los datos deben protegerse.

¿Obtendré SSL y mi propio Dominio? Sí, el certificado SSL es automático y el Dominio o subdominio *.saploapp.pl está incluido en el precio de cada plan.

En Saplo, configuras Docker desde cero hasta tener un Dominio funcional en minutos, y cada git push posterior construye una nueva imagen y reemplaza el contenedor sin tu intervención. Si buscas una herramienta específica con una imagen Docker que aún no está como receta lista en el Catálogo de aplicaciones, esta es la forma más rápida de ejecutarla.

  • #Docker
  • #Docker Compose
  • #Git Deploy
  • #Guía