Imagen reutilizable para cualquier proyecto Next.js
248
Imagen Docker reutilizable para cualquier proyecto Next.js. No necesitas reconstruir la imagen para cada proyecto.
docker build -f Dockerfile.base -t nextjs-base:latest .
Monta el código y la imagen hace todo automáticamente:
services:
nextjs:
image: nextjs-base:latest
ports:
- "3000:3000"
volumes:
- .:/app
- nextjs-modules:/app/node_modules
env_file:
- .env.local
docker-compose up -d
Para cuando ya hiciste npm run build localmente:
services:
nextjs:
image: nextjs-base:latest
ports:
- "3000:3000"
volumes:
- ./.next/standalone:/app
- ./public:/app/public
environment:
- NEXTJS_MODE=serve
Con hot reload:
services:
nextjs:
image: nextjs-base:latest
ports:
- "3000:3000"
volumes:
- .:/app
environment:
- NEXTJS_MODE=dev
| NEXTJS_MODE | Descripción |
|---|---|
auto | Detecta si necesita instalar/build y sirve |
serve | Solo sirve, asume build ya hecho |
dev | Modo desarrollo con hot reload |
Tu next.config.js debe tener:
const nextConfig = {
output: 'standalone',
}
module.exports = nextConfig
# Construir imagen base (una vez)
docker build -f Dockerfile.base -t nextjs-base:latest .
# Ejecutar con cualquier proyecto
docker run -v /ruta/a/tu/proyecto:/app -p 3000:3000 nextjs-base
# Con variables de entorno
docker run -v $(pwd):/app -p 3000:3000 --env-file .env.local nextjs-base
├── Dockerfile.base # Imagen base reutilizable
├── docker-entrypoint.sh # Script de auto-detección
├── docker-compose.yml # Ejemplo de uso
└── DOCKER.md # Esta documentación
Content type
Image
Digest
sha256:5de8633b8…
Size
48.5 MB
Last updated
5 months ago
docker pull juanheredia/nextjs