C++ y Docker: contenedorización de aplicaciones
C++ y Docker: contenedorización de aplicaciones
Resumen:
El libro «C++ y Docker: contenedorización de aplicaciones» es una guía práctica para desarrolladores de C++ que desean dominar los enfoques modernos para empaquetar, entregar y ejecutar su código mediante contenedores. A diferencia de los libros típicos sobre Docker, orientados al desarrollo web en Python o Node.js, esta edición se centra específicamente en las particularidades de C++: enlace estático y dinámico, gestión de dependencias, optimización del tiempo de compilación y del tamaño de la imagen final.
¿Para quién es este libro?
- Para desarrolladores de C++ que quieran simplificar el despliegue de sus aplicaciones y eliminar el problema de «en mi máquina funciona».
- Para ingenieros DevOps que trabajan con sistemas de alta carga en C++ y necesitan pipelines de compilación fiables.
- Para estudiantes y programadores principiantes que deseen comprender cómo la infraestructura moderna se combina con un lenguaje clásico.
¿Qué aprenderá?
- Fundamentos de Docker: imágenes, contenedores, Dockerfile, docker-compose.
- Particularidades de la contenedorización de proyectos C++: trabajo con bibliotecas del sistema, paso de variables de entorno, gestión de versiones de compiladores (GCC, Clang).
- Compilación multi-etapa (multi-stage builds) para minimizar el tamaño de la imagen — de 2 GB a 50 MB.
- Integración con CMake y Conan para la gestión de dependencias dentro del contenedor.
- Creación de imágenes ligeras basadas en Alpine Linux y scratch.
- Pruebas, depuración y perfilado de aplicaciones C++ dentro del contenedor.
- Orquestación con docker-compose y Kubernetes para arquitectura de microservicios en C++.
- Configuración de pipelines CI/CD (GitHub Actions, GitLab CI) para la compilación y publicación automática de imágenes.
El libro contiene numerosos ejemplos prácticos y Dockerfiles listos para usar que se pueden adaptar inmediatamente a sus proyectos. Aprenderá no solo a «empaquetar» una aplicación en un contenedor, sino a hacerlo de manera óptima: teniendo en cuenta el almacenamiento en caché de capas, el tiempo mínimo de compilación y la seguridad.
Después de la lectura, podrá contenedorizar con confianza tanto utilidades pequeñas como proyectos complejos multimódulo en C++, así como integrar Docker en el proceso de desarrollo y entrega de software.
El código de los ejemplos está disponible para descargar en GitHub, todos los comandos han sido probados en las versiones actuales de Docker 24+ y C++20.