

Beschreibung
Software-Container verstehen und produktiv einsetzen Docker ist aus der modernen Softwareentwicklung nicht mehr wegzudenken. Ob Sie Entwickler oder Administrator sind, ob Sie gerade einsteigen oder bereits produktiv mit Software-Containern arbeiten: In diesem ...Software-Container verstehen und produktiv einsetzen Docker ist aus der modernen Softwareentwicklung nicht mehr wegzudenken. Ob Sie Entwickler oder Administrator sind, ob Sie gerade einsteigen oder bereits produktiv mit Software-Containern arbeiten: In diesem Buch zeigen Ihnen Michael Kofler und Bernd Öggl Docker und die Containerwelt. Dabei lassen die Autoren Sie auch bei Troubleshooting und Orchestrierung nicht alleine. Inklusive Best Practices, umfangreichem Werkzeugkasten und vielen Tipps zu Projektmigration, Container-Sicherheit, Docker ohne Root, Kubernetes, Podman, Docker Desktop und mehr.
Aus dem Inhalt:
Vorwort
Das Praxisbuch für Entwickler und DevOps-Teams. Grundlagen, Einstieg, Konzepte. Für Windows, macOS und Linux. Ausgabe 2026
Autorentext
Bernd Öggl ist ein erfahrener Systemadministrator und Webentwickler. Bereits seit 2001 erstellt er für Kunden Websites, setzt individuelle Entwicklerprojekte um und gibt sein Wissen auf Konferenzen und in Publikationen weiter.
Klappentext
So setzen Sie Container produktiv einOhne Software-Container läuft nichts mehr in modernen Entwicklungsumgebungen! Dieses Buch erklärt Ihnen die Konzepte und Ideen hinter Docker und zeigt Ihnen, wie Sie Container sauber in Ihre Umgebung integrieren und produktiv einsetzen - auch im Unterschied zu Podman. Continuous Delivery - aber richtig! Sie erfahren, wie sie eine Continuous Delivery Pipeline aufbauen und nutzen. Beschleunigen Sie so Entwicklungsprozesse und sorgen Sie für reibungslose Übergänge zwischen Test- und Produktivumgebungen. Ihr Werkzeugkasten Setzen Sie Programmiersprachen, Datenbanksysteme und Webserver gekonnt in Containern ein und orchestrieren Sie Ihre Apps zu fertigen Setups. Hier finden Sie Anleitungen zu allen wichtigen Tools und erfahren, wie Sie zeitgemäß gute Software entwickeln. Von Python bis Swift, von MariaDB bis Redis, von Apache bis Node.js. Docker im Agentic Workflow Mit Docker führen Sie LLMs in Containern aus und richten mit dem MCP-Server einen standardisierten Workflow ein. So orchestrieren Sie komplexe, KI-basierte Setups, in denen Ihre KI-Agenten das Steuer übernehmen.
Inhalt
Vorwort ... 11
TEIL I. Einführung ... 15
1. Hello World ... 17
1.1 ... Docker-Schnellinstallation ... 17
1.2 ... Apache mit PHP 8 ... 18
1.3 ... Node.js ... 21
1.4 ... Python ... 24
1.5 ... Fazit ... 25
2. Installation ... 27
2.1 ... Viele Wege führen zum Ziel ... 27
2.2 ... Docker-Installation unter Windows ... 32
2.3 ... Docker-Installation unter macOS ... 34
2.4 ... Docker-Installation unter Linux ... 35
2.5 ... Rootless Docker ... 39
2.6 ... Docker Desktop unter Linux ... 44
2.7 ... Podman installieren ... 46
3. Grundlagen ... 49
3.1 ... Grundlagen und Nomenklatur ... 49
3.2 ... Container ausführen ... 55
3.3 ... Container interaktiv verwenden ... 57
3.4 ... Portweiterleitung ... 66
3.5 ... Datenspeicherung in Volumes ... 69
3.6 ... Volumes mit Namen ... 76
3.7 ... Volumes in eigenen Verzeichnissen ... 77
3.8 ... Kommunikation zwischen mehreren Containern ... 79
3.9 ... Administration ... 86
4. Eigene Images ... 93
4.1 ... Hello, Dockerfile! ... 94
4.2 ... Dockerfile-Syntax ... 97
4.3 ... Ein eigenes Webserver-Image ... 104
4.4 ... Images in den Docker Hub hochladen ... 106
4.5 ... Multi-Arch-Images ... 110
4.6 ... Beispiel: Pandoc- und LaTeX-Umgebung als Image einrichten ... 113
5. Container-Setups mit »compose« ... 117
5.1 ... YAML-Syntax ... 119
5.2 ... Hello Compose! ... 121
5.3 ... Die Datei compose.yaml ... 124
5.4 ... Ports und Netzwerke ... 132
5.5 ... Passwörter und andere Geheimnisse ... 138
5.6 ... Neue Projekte einrichten (docker init) ... 140
6. Tipps, Tricks und Interna ... 143
6.1 ... Docker Desktop und Podman Desktop ... 144
6.2 ... Visual Studio Code ... 146
6.3 ... Portainer ... 150
6.4 ... Pull-Limit im Docker Hub ... 151
6.5 ... Unterschiedliche CPU-Architekturen nutzen ... 156
6.6 ... Container automatisch starten ... 158
6.7 ... Windows mit dockur ausführen ... 163
6.8 ... Docker-Interna ... 167
6.9 ... Podman-Interna ... 182
6.10 ... Toolbx ... 192
7. Kommandoreferenz ... 199
TEIL II. Werkzeugkasten ... 223
8. Alpine Linux ... 225
8.1 ... Merkmale ... 227
8.2 ... Paketverwaltung mit apk ... 230
9. Webserver und Co. ... 235
9.1 ... Apache HTTP Server ... 236
9.2 ... Nginx ... 241
9.3 ... Nginx als Reverse Proxy mit SSL-Zertifikaten von Let's Encrypt ... 244
9.4 ... Caddy ... 252
9.5 ... Node.js mit Express ... 255
9.6 ... HAProxy ... 259
9.7 ... Traefik-Proxy ... 261
10. Datenbanksysteme ... 267
10.1 ... MySQL und MariaDB ... 267
10.2 ... PostgreSQL ... 274
10.3 ... MongoDB ... 278
10.4 ... Redis ... 286
11. Programmiersprachen ... 289
11.1 ... JavaScript (Node.js) ... 289
11.2 ... Java ... 293
11.3 ... PHP ... 296
11.4 ... Ruby ... 302
11.5 ... Python ... 303
11.6 ... Go ... 310
12. Webapplikationen und CMS ... 319
12.1 ... WordPress ... 319
12.2 ... Nextcloud ... 328
12.3 ... Joomla ... 331
TEIL III. Praxis ... 333
13. Eine moderne Webapplikation ... 335
13.1 ... Die Anwendung ... 335
13.2 ... Das Frontend -- Vue.js ... 338
13.3 ... Der API-Server -- Node.js Express ... 348
13.4 ... Die MongoDB-Datenbank ... 359
13.5 ... Der Sessionspeicher -- Redis ... 364
14. Grafana ... 365
14.1 ... Grafana-Docker-Setup ... 366
14.2 ... Provisioning ... 376
14.3 ... Ein angepasstes Telegraf-Image ... 379
15. Prometheus ... 385
15.1 ... Grundlagen und Setup-Überblick ... 385
15.2 ... Den Node Exporter installieren ... 388
15.3 ... Docker-Setup für Traefik, Grafana und Prometheus ... 392
15.4 ... Prometheus-Weboberfläche ... 399
15.5 ... Grafana-Weboberfläche ... 401
15.6 ... Automatische Benachrichtigungen (Alerts) ... 403
15.7 ... Monitoring für Webserver (Blackbox Exporter) ... 407
16. Modernisierung einer traditionellen Applikation ... 411
16.1 ... Die bestehende Applikation ... 412
16.2 ... Planung und Vorbereitung ... 414
16.3 ... Die Entwicklungsumgebung ... 428
16.4 ... Produktivumgebung und Migration ... 429
16.5 ... Updates ... 432
16.6 ... Tipps für die Umstellung ... 433
16.7 ... Fazit ... 434
17. GitLab ... 435
17.1 ... GitLab-Schnellstart ..…
