🧱 Templates Base¶
Dockerfiles reutilizables y optimizados.
Subcategorías¶
- 00_base: Imágenes base (Alpine, Debian, Ubuntu)
- 01_build: Ambientes de build con herramientas
- 02_development: Imágenes para desarrollo local
- 03_testing: Imágenes para testing y CI/CD
Uso¶
Heredar de estos templates en servicios específicos:
Convenciones¶
- Todos los Dockerfiles deben usar multi-stage builds
- Imágenes base: <200MB
- Imágenes de build: <500MB
- Non-root user obligatorio
- Tags semánticos (alpine-3.18, debian-bullseye, ubuntu-22.04)
Estructura de Archivos¶
03_05_00_templates/
├── 03_05_00_00_base/
│ ├── Dockerfile.alpine
│ ├── Dockerfile.debian
│ └── Dockerfile.ubuntu
├── 03_05_00_01_build/
│ ├── Dockerfile.cpp
│ ├── Dockerfile.node
│ └── Dockerfile.python
├── 03_05_00_02_development/
│ └── Dockerfile.dev
└── 03_05_00_03_testing/
└── Dockerfile.test
Best Practices¶
- Minimizar capas: Combinar RUN statements
- Cache optimization: Copiar package files antes que código
- Security: No incluir secrets, usar multi-stage para eliminar build tools
- Reproducibilidad: Pin versions exactas de dependencias