C++ und Docker: Containerisierung von Anwendungen
C++ und Docker: Containerisierung von Anwendungen
Zusammenfassung:
Das Buch «C++ und Docker: Containerisierung von Anwendungen» ist ein praktischer Leitfaden, der die Lücke zwischen der klassischen C++-Entwicklung und modernen DevOps-Praktiken schließt. Im Zeitalter von Microservices und Cloud-Technologien wird die Fähigkeit, C++-Anwendungen in Container zu verpacken, zu einer unverzichtbaren Fähigkeit für jeden Entwickler.
Worum geht es in diesem Buch?
Sie erfahren, wie Sie den chaotischen Build-Prozess von C++-Projekten mit Docker in einen reproduzierbaren, automatisierten Prozess verwandeln. Das Buch beginnt mit den Grundlagen: Was sind Images und Container, wie funktionieren Multi-Stage-Builds und warum sind sie für C++ kritisch? Anschließend gehen Sie zu fortgeschrittenen Themen über:
- Erstellung von schlanken Images mit minimalem Abhängigkeitssatz (Alpine, Entfernung überflüssiger Bibliotheken);
- Integration von CMake, Conan und vcpkg mit Docker zur Verwaltung von Abhängigkeiten;
- Einrichtung von DevContainern für komfortable Entwicklung in VS Code und CLion;
- Organisation von CI/CD-Pipelines (GitLab CI, GitHub Actions) für automatische Builds und Tests;
- Profiling und Debugging von Multithread-Anwendungen innerhalb von Containern;
- Sicherheit: Ausführen von Containern mit eingeschränkten Berechtigungen, Schwachstellenscans.
Für wen ist dieses Buch?
- C++-Entwickler, die die Bereitstellung ihrer Projekte vereinfachen möchten;
- DevOps-Ingenieure, die mit hochbelastbaren C++-Systemen arbeiten;
- Studenten und Fachleute, die von der «rohen» g++-Kompilierung zur industriellen Entwicklung übergehen;
- Alle, die den Satz «bei mir läuft es» satt haben und vorhersagbare Builds wünschen.
Was werden Sie lernen?
- Wie Sie die Image-Größe einer C++-Anwendung um das 10-fache reduzieren, ohne Leistungseinbußen;
- Wie Sie Hot Reload bei der Entwicklung im Container organisieren;
- Wie Sie Netzwerkinteraktionen und verteilte Algorithmen in einer isolierten Umgebung testen;
- Wie Sie C++-Dienste mit minimalem Speicherverbrauch in Kubernetes deployen.
Das Buch enthält über 50 praktische Beispiele, fertige Dockerfile- und docker-compose.yml-Dateien. Alle Beispiele wurden mit GCC 13, Clang 17 und der neuesten Version von Docker Desktop getestet. Sie erhalten nicht nur Theorie, sondern funktionierende Vorlagen, die Sie sofort in Ihren Projekten anwenden können.
Der Autor – Alexey Sokolov, Ingenieur mit 10 Jahren Erfahrung im Bereich hochbelastbarer Systeme und Autor von Kursen zu C++ und DevOps. Sein Ansatz verbindet akademische Strenge mit realen Produktionsfällen.