• Neu
Kofler / Öggl | Docker | Buch | 978-3-367-11495-5 | www2.sack.de

Buch, Deutsch, 585 Seiten, Format (B × H): 181 mm x 247 mm, Gewicht: 1224 g

Reihe: Rheinwerk Computing

Kofler / Öggl

Docker

Das Praxisbuch für Entwickler und DevOps-Teams
5. Auflage 2026
ISBN: 978-3-367-11495-5
Verlag: Rheinwerk Verlag GmbH

Das Praxisbuch für Entwickler und DevOps-Teams

Buch, Deutsch, 585 Seiten, Format (B × H): 181 mm x 247 mm, Gewicht: 1224 g

Reihe: Rheinwerk Computing

ISBN: 978-3-367-11495-5
Verlag: Rheinwerk Verlag GmbH


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.

  • Schritt für Schritt vom Setup bis zur Orchestrierung
  • Continuous Delivery: Grundlagen, Konzepte und Beispiele
  • Praxiswissen zu Projekt-Migration, Sicherheit, Kubernetes, Cloud-Setups, Podman, Portainer und mehr

Aus dem Inhalt:

  • Konzepte und Grundlagen
  • Docker-Kommandos
  • Eigene Docker-Images
  • Container-Sicherheit
  • Webserver und Tools
  • Datenbanksysteme
  • Programmiersprachen
  • Webapplikationen und CMS
  • Praxisbeispiele: Webapplikation, Grafana, Gitlab und mehr
  • Anwendungen migrieren
  • Deployment
  • Gitlab
  • Continuous Integration und Continuous Delivery
  • Orchestrierung mit Swarm und Kubernetes
  • Docker in der Cloud: AWS, Azure, Google Cloud
Kofler / Öggl Docker jetzt bestellen!

Weitere Infos & Material


  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 ... 437

       17.2 ... GitLab-Webinstallation ... 438

       17.3 ... HTTPS über ein Reverse-Proxy-Setup ... 440

       17.4 ... E-Mail-Versand ... 441

       17.5 ... SSH-Zugriff ... 444

       17.6 ... Volumes und Backup ... 445

       17.7 ... Eigene Docker-Registry für GitLab ... 447

       17.8 ... Die vollständige compose-Datei ... 449

       17.9 ... GitLab verwenden ... 451

       17.10 ... GitLab-Runner ... 455

       17.11 ... Mattermost ... 458

18.  Continuous Integration und Continuous Delivery ... 465


       18.1 ... Die Website dockerbuch.info mit gohugo.io ... 466

       18.2 ... Docker-Images für die CI/CD-Pipeline ... 471

       18.3 ... Die CI/CD-Pipeline ... 474

19.  Sicherheit ... 485


       19.1 ... Softwareinstallation ... 486

       19.2 ... Herkunft der Docker-Images ... 487

       19.3 ... »root« in Docker-Images ... 489

       19.4 ... Der Docker-Dämon ... 491

       19.5 ... User Namespaces ... 492

       19.6 ... cgroups ... 495

       19.7 ... Secure Computing Mode ... 496

       19.8 ... AppArmor-Sicherheitsprofile ... 497

20.  Swarm ... 499


       20.1 ... Docker Swarm ... 501

       20.2 ... Docker Swarm in der Hetzner-Cloud ... 505

21.  Kubernetes ... 517


       21.1 ... Minikube ... 518

       21.2 ... Amazon EKS (Elastic Kubernetes Service) ... 531

       21.3 ... Microsoft AKS (Azure Kubernetes Service) ... 535

       21.4 ... Google Kubernetes Engine ... 543

22.  Künstliche Intelligenz ... 555


       22.1 ... Der Docker Model Runner (DMR) ... 555

       22.2 ... DMR-Beispiel 1: SQL-Abfragen von der KI ... 557

       22.3 ... DMR-Beispiel 2: KI-Zugriff auf GitLab ... 565

       22.4 ... Der Docker-MCP-Katalog ... 570

       22.5 ... Fazit ... 577

  Index ... 579


Öggl, Bernd
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.

Kofler, Michael
Michael Kofler hat Telematik an der TU Graz studiert und ist einer der erfolgreichsten deutschsprachigen IT-Fachbuchautoren. Zu seinen Themengebieten zählen neben Linux auch IT-Sicherheit, Python, Swift, Java und der Raspberry Pi. Er ist Entwickler, berät Firmen undarbeitet als Lehrbeauftragter.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.