Aprovisionamiento de bases de datos
Crea bases de datos listas para producción en segundos. sh0 gestiona el ciclo de vida del contenedor, las redes y el almacenamiento persistente para que puedas enfocarte en tu aplicación.
Bases de datos compatibles
sh0 es compatible con cinco motores de bases de datos de forma nativa. Cada uno se ejecuta como un contenedor Docker administrado dentro de tu stack, con volúmenes persistentes y redes automáticas.
| Motor | Puerto predeterminado | Versiones disponibles | Caso de uso |
|---|---|---|---|
| PostgreSQL | 5432 | 14, 15, 16, 17 | Propósito general, consultas avanzadas, JSONB |
| MySQL | 3306 | 8.0, 8.4, 9.0 | Aplicaciones web tradicionales, WordPress, Laravel |
| MariaDB | 3306 | 10.11, 11.2, 11.4 | Compatible con MySQL, alternativa de código abierto |
| Redis | 6379 | 7.0, 7.2, 7.4 | Caché, sesiones, colas, pub/sub |
| MongoDB | 27017 | 6.0, 7.0, 8.0 | Almacén de documentos, esquemas flexibles |
Crear una base de datos
Las bases de datos se crean dentro de un stack. Navega a tu stack, luego haz clic en Agregar servicio y selecciona Base de datos.
- Abre el Stack donde deseas que resida la base de datos.
- Haz clic en Agregar servicio en la esquina superior derecha.
- Selecciona Base de datos en el selector de tipo de servicio.
- Elige tu motor (por ejemplo, PostgreSQL).
- Dale un nombre a la base de datos -- este se convierte en el nombre de host del contenedor en la red interna.
- Configura la versión, las credenciales y los límites de recursos.
- Haz clic en Crear.
mydb, tu aplicación puede acceder a ella en mydb:5432 dentro del mismo stack.Seleccionar una versión
Cada motor ofrece múltiples versiones principales. sh0 descarga la imagen Docker oficial de la versión que selecciones. Puedes cambiar de versión después, pero esto requiere una migración de datos para actualizaciones de versión mayor.
Límites de recursos
sh0 te permite establecer límites de CPU, memoria y disco para cada contenedor de base de datos. Esto evita que una sola base de datos consuma todos los recursos del servidor.
CPU y memoria
Establece límites en los núcleos de CPU y la asignación de memoria. Los valores predeterminados funcionan bien para la mayoría de las cargas de trabajo, pero puedes ajustarlos según las necesidades de tu aplicación.
| Configuración | Predeterminado | Descripción |
|---|---|---|
| Límite de CPU | 1.0 núcleo | Máximo de núcleos de CPU que el contenedor puede usar |
| Límite de memoria | 512 MB | Asignación máxima de RAM |
| Reserva de memoria | 256 MB | RAM mínima garantizada |
Asignación de disco
Los datos de la base de datos se almacenan en un volumen Docker persistente. Por defecto, no hay cuota de disco -- la base de datos puede usar el espacio disponible en el host. Puedes establecer un umbral de advertencia suave en la configuración de monitoreo para recibir alertas antes de que el disco se llene.
Estado y salud de la base de datos
sh0 monitorea continuamente tus contenedores de bases de datos. El panel de control muestra un indicador de estado en tiempo real para cada base de datos.
| Estado | Significado |
|---|---|
| En ejecución | El contenedor está activo y aceptando conexiones |
| Iniciando | El contenedor se está arrancando |
| Detenido | El contenedor se detuvo o fue parado |
| Error | El contenedor no pudo iniciarse o se detuvo inesperadamente |
Haz clic en cualquier base de datos para ver información detallada de salud, incluyendo uso actual de CPU y memoria, conteo de conexiones, tiempo de actividad y registros recientes.
Administrar bases de datos
Desde la página de detalle de la base de datos, puedes realizar tareas comunes de administración:
- Iniciar / Detener / Reiniciar -- Controla el ciclo de vida del contenedor.
- Ver registros -- Transmite registros del contenedor en tiempo real.
- Terminal -- Abre una terminal dentro del contenedor de la base de datos.
- Editar configuración -- Cambia los límites de recursos, la versión o las credenciales.
- Respaldos -- Configura y activa respaldos (consulta Respaldos y restauración).
- Eliminar -- Remueve la base de datos y su volumen de datos.