Go (Golang) und Docker: Containerisierung von Anwendungen
Go (Golang) und Docker: Containerisierung von Anwendungen
Zusammenfassung:
Dieses Buch ist ein praktischer Leitfaden zur Containerisierung von Anwendungen in Go (Golang) mit Docker. Es richtet sich an Entwickler, die den modernen Ansatz zum Verpacken, Ausliefern und Bereitstellen von Software erlernen möchten.
Worum geht es in dem Buch:
- Grundlagen von Docker und seines Ökosystems: Images, Container, Dockerfile, docker-compose.
- Besonderheiten der Containerisierung von Go-Anwendungen: Kompilierung in eine statische Binärdatei, Erstellung minimaler Images (scratch, alpine).
- Multi-Stage-Builds zur Reduzierung der Image-Größe.
- Arbeit mit Netzwerk und Daten: Docker-Netzwerke, Volumes, Bind Mounts.
- Orchestrierung von Microservices in Go mit docker-compose.
- Containersicherheit: Best Practices, Ausführung als nicht-privilegierter Benutzer.
- Integration mit CI/CD (GitHub Actions, GitLab CI) für automatisches Testen und Deployment.
- Monitoring und Logging containerisierter Anwendungen.
Für wen ist dieses Buch:
- Go-Entwickler, die das Deployment ihrer Anwendungen automatisieren möchten.
- DevOps-Ingenieure, die mit dem Golang-Stack arbeiten.
- Studenten und Fachleute, die moderne Containerisierungspraktiken erlernen.
- Alle, die ihre Go-Projekte ohne unnötige Theorie auf Docker umstellen möchten.
Was Sie lernen und können werden:
- Effiziente Dockerfiles für Go-Anwendungen mit minimaler endgültiger Größe schreiben.
- Lokale Entwicklungsumgebungen mit Docker Compose einrichten.
- Webdienste, CLI-Tools und Microservices in Go in Container verpacken.
- Konfiguration und Secrets über Umgebungsvariablen und Docker Secrets verwalten.
- Build und Veröffentlichung von Images in Docker Hub oder einer privaten Registry automatisieren.
- Containerisierte Go-Anwendungen auf einem Server (VPS, Cloud) mit Docker bereitstellen.
- Die Muster "Eine Verantwortung pro Container" und "Sidecar" anwenden.
- Build-Zeit und Layer-Caching optimieren.
Das Buch enthält zahlreiche fertige Codebeispiele, Schritt-für-Schritt-Anleitungen und reale Szenarien. Sie beginnen mit den Grundlagen von Docker und Go und können am Ende selbstständig eine production-ready Infrastruktur für Ihre Projekte aufbauen.
Alle Beispiele wurden mit den aktuellen Versionen Go 1.21+ und Docker 24+ getestet. Unabhängig von Ihrem aktuellen Kenntnisstand finden Sie hier nützliche Praktiken und Techniken, die Sie sofort in Ihrer Arbeit anwenden können.
Tauchen Sie ein in die Welt der Containerisierung von Go-Anwendungen und machen Sie Ihren Entwicklungs- und Deployment-Prozess schnell, zuverlässig und reproduzierbar!