Código vivo
Para implementar, depurar y ver cambios sin reconstruir imágenes.
- Python con Uvicorn reload
- Svelte con Vite y HMR
- Datos reales persistentes
La configuración base define LAMB una sola vez. Los overlays añaden exactamente lo que necesita cada entorno: recarga en desarrollo o TLS en explotación.
Bind mounts · Uvicorn reload · Vite :5173
Servicios · red · imágenes · datos persistentes
Caddy · dominios · certificados TLS
No mantenemos pilas distintas. Partimos siempre de docker-compose.next.yaml y añadimos una capa cuando el contexto lo exige.
Para implementar, depurar y ver cambios sin reconstruir imágenes.
Para probar las imágenes empaquetadas antes de desplegar.
Para servidores con dominios y terminación HTTPS mediante Caddy.
Selecciona el contexto y copia el comando completo. Todos deben ejecutarse desde la raíz del repositorio.
cd /opt/lamb
docker compose \
-f docker-compose.next.yaml \
-f docker-compose.next.dev.yaml \
up -d
Cambios en Python reinician el servicio correspondiente. Cambios en Svelte se reflejan mediante HMR.
cd /opt/lamb
docker compose \
-f docker-compose.next.yaml \
up -d
No utiliza el código del checkout. Para incorporar cambios locales, reconstruye con --build.
cd /opt/lamb
docker compose \
-f docker-compose.next.yaml \
-f docker-compose.next.prod.yaml \
pull
docker compose \
-f docker-compose.next.yaml \
-f docker-compose.next.prod.yaml \
up -d
El despliegue actualiza imágenes y recrea solo los contenedores que lo necesitan.
# Estado y logs
docker compose -f docker-compose.next.yaml \
-f docker-compose.next.dev.yaml ps
docker compose -f docker-compose.next.yaml \
-f docker-compose.next.dev.yaml logs -f
# Parar sin borrar datos
docker compose -f docker-compose.next.yaml \
-f docker-compose.next.dev.yaml down
El comando down conserva los volúmenes. Evita down -v salvo que quieras borrar los datos.
El overlay cambia cómo entra el código, no dónde viven los datos ni cómo se comunican los servicios.
La red y los nombres de servicio son iguales en todos los modos.
Los bind mounts cambian por entorno; los volúmenes con datos se mantienen.
Bases de datos, índices, documentos y configuración permanecen en volúmenes Docker con nombre.
Estas decisiones evitan la mayoría de las diferencias entre el portátil de desarrollo y el servidor.
Una comprobación corta mantiene alineados código, imágenes y operación.
Comprueba que todos los servicios necesarios estén activos.
Prueba en 5173 durante desarrollo y en 9099 con la imagen final.
Reconstruye si cambió Python; reinicia Vite si cambió package.json.
Revisa errores recientes antes de publicar o desplegar.