Zum Hauptinhalt springen
Nicht aus der Schweiz? Besuchen Sie lehmanns.de

Docker

Das Praxisbuch für Entwickler und DevOps-Teams
Buch | Hardcover
496 Seiten
2021 | 3. Auflage
Rheinwerk (Verlag)
978-3-8362-8634-3 (ISBN)

Lese- und Medienproben

Docker - Michael Kofler, Bernd Öggl
CHF 55,85 inkl. MwSt
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
Für Windows, macOS und Linux
  • Schritt für Schritt vom Setup bis zur Orchestrierung
  • Continuous Delivery: Grundlagen, Konzepte und Beispiele
  • Praxiswissen zu Projekt-Migration, Sicherheit, Kubernetes, Podman, Portainer und mehr

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: Dieses Buch zeigt Ihnen nicht nur Docker und die Containerwelt, es lässt Sie auch mit dem Troubleshooting und der Orchestrierung nicht alleine.

Inkl. Best Practices, umfangreichem Werkzeugkasten und vielen Tipps zur Projektmigration, Container-Sicherheit, Docker ohne Root, Kubernetes, Podman und mehr.

Docker erklärt: So setzen Sie Container produktiv ein
Ohne 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.

Continuous Delivery – Aber richtig!
Sie erfahren, wie sie eine Continiuous Delivery Pipeline aufbauen und nutzen. Beschleunigen Sie so Entwicklungsprozesse und sorgen Sie für reibungslose Übergänge zwischen Test- und Produktivumgebungen.

Ihr Werkzeugkasten
Nutzen Sie Programmiersprachen, Datenbanksysteme und Webserver gekonnt Containern 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 Reddis, von Apache bis Node.js.

Aus dem Inhalt:
Konzepte und Kommandos
Eigene Docker-Images
Container-Sicherheit
Webserver und Tools
Datenbanksysteme
Programmiersprachen
Webapplikationen und CMS
Praxisbeispiel: Webapplikation, Grafana, Gitlab und mehr
Anwendungen migrieren
Deployment
Continuous Integration und Continuous Delivery
Orchestrierung mit Swarm und Kubernetes
Docker in der Cloud: AWS, Azure, Google Cloud

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 und arbeitet als Lehrbeauftragter.

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.


Vorwort ... 9

I Einführung ... 13

1. Hello World ... 15

1.1 ... Docker-Schnellinstallation ... 15
1.2 ... Apache mit PHP 7 ... 16
1.3 ... Node.js ... 19
1.4 ... Python ... 22
1.5 ... Fazit ... 24

2. Installation und Grundlagen ... 25

2.1 ... Installation ... 25
2.2 ... Grundlagen und Nomenklatur ... 37
2.3 ... Docker kennenlernen ... 42
2.4 ... Docker administrieren ... 60
2.5 ... Ein Blick hinter die Kulissen ... 63

3. Eigene Docker-Images (Dockerfiles) ... 75

3.1 ... Dockerfiles ... 75
3.2 ... Images in den Docker Hub hochladen ... 85
3.3 ... Pandoc- und LaTeX-Umgebung als Image einrichten ... 87

4. docker-Kommandoreferenz ... 91
5. docker-compose ... 111

5.1 ... Installation von docker-compose unter Linux ... 112
5.2 ... YAML-Syntax ... 113
5.3 ... Hello World! ... 115
5.4 ... Die docker-compose.yml-Datei ... 120
5.5 ... Das docker-compose-Kommando ... 128

II Werkzeugkasten ... 133

6. Alpine Linux ... 135

6.1 ... Merkmale ... 136
6.2 ... Paketverwaltung mit apk ... 139

7. Webserver und Co.protect kern +.1667emrelax ... 143

7.1 ... Apache HTTP Server ... 143
7.2 ... Nginx ... 149
7.3 ... Nginx als Reverse-Proxy mit SSL-Zertifikaten von Let's Encrypt ... 152
7.4 ... Node.js mit Express ... 160
7.5 ... HAProxy ... 165

8. Datenbanksysteme ... 171

8.1 ... MySQL und MariaDB ... 171
8.2 ... PostgreSQL ... 177
8.3 ... MongoDB ... 182
8.4 ... Redis ... 189

9. Programmiersprachen ... 193

9.1 ... JavaScript (Node.js) ... 193
9.2 ... Java ... 197
9.3 ... PHP ... 200
9.4 ... Ruby ... 207
9.5 ... Python ... 209
9.6 ... Swift ... 215

10. Webapplikationen und CMS ... 221

10.1 ... WordPress ... 221
10.2 ... Nextcloud ... 229
10.3 ... Joomla ... 232

III Praxis ... 235

11. Eine moderne Webapplikation ... 237

11.1 ... Die Anwendung ... 238
11.2 ... Das Frontend -- Vue.js ... 240
11.3 ... Der API-Server -- Node.js Express ... 251
11.4 ... Die Mongo-Datenbank ... 261
11.5 ... Der Session-Speicher -- Redis ... 266

12. Grafana ... 267

12.1 ... Grafana-Docker-Setup ... 268
12.2 ... Provisioning ... 277
12.3 ... Ein angepasstes Telegraf-Image ... 280

13. Modernisierung einer traditionellen Applikation ... 285

13.1 ... Die bestehende Applikation ... 286
13.2 ... Planung und Vorbereitung ... 288
13.3 ... Die Entwicklungsumgebung ... 302
13.4 ... Produktivumgebung und Migration ... 303
13.5 ... Updates ... 305
13.6 ... Tipps zur Umstellung ... 307
13.7 ... Fazit ... 308

14. GitLab ... 309

14.1 ... GitLab-Schnellstart ... 311
14.2 ... GitLab-Webinstallation ... 312
14.3 ... HTTPS über ein Reverse-Proxy-Setup ... 314
14.4 ... E-Mail-Versand ... 316
14.5 ... SSH-Zugriff ... 319
14.6 ... Volumes und Backup ... 320
14.7 ... Eigene Docker-Registry für GitLab ... 322
14.8 ... Die vollständige docker-compose-Datei ... 324
14.9 ... GitLab verwenden ... 326
14.10 ... GitLab Runner ... 330
14.11 ... Mattermost ... 336

15. Continuous Integration und Continuous Delivery ... 343

15.1 ... Die dockerbuch.info-Website mit gohugo.io ... 344
15.2 ... Docker-Images für die CI/CD-Pipeline ... 349
15.3 ... Die CI/CD-Pipeline ... 352

16. Sicherheit ... 365

16.1 ... Softwareinstallation ... 365
16.2 ... Herkunft der Docker-Images ... 367
16.3 ... {T1guillemotright }root{T1guillemotleft } in Docker-Images ... 369
16.4 ... Der Docker-Dämon ... 372
16.5 ... User Namespaces ... 373
16.6 ... cgroups ... 375
16.7 ... Secure Computing Mode ... 376
16.8 ... AppArmor-Sicherheitsprofile ... 377

17. Swarm und Amazon ECS ... 381

17.1 ... Docker Swarm ... 383
17.2 ... Docker Swarm in der Hetzner Cloud ... 388
17.3 ... Amazon Elastic Container Service ... 398

18. Kubernetes ... 409

18.1 ... Minikube ... 410
18.2 ... Amazon EKS (Elastic Container Service for Kubernetes) ... 422
18.3 ... Microsoft AKS (Azure Kubernetes Service) ... 430
18.4 ... Google Kubernetes Engine ... 438

A. Docker-Alternative Podman ... 451
Index ... 463

»Öggl und Kofler führen ihre Leser vom Grundsätzlichen in die Feinheiten. [...] Insgesamt ist das Buch eine runde Sache. Es wendet sich an Entwickler und Admins, ist aber streckenweise auch für Entscheider interessant.« c't 202111

Die Fachpresse zur Vorauflage:

LINUX MAGAZIN: »Eine gute, umfangreiche und zudem leicht nachvollziehbare Einführung in die Container-Technologie.«

Erscheinungsdatum
Verlagsort Bonn
Sprache deutsch
Maße 168 x 240 mm
Einbandart gebunden
Themenwelt Mathematik / Informatik Informatik Netzwerke
Mathematik / Informatik Informatik Software Entwicklung
Schlagworte App-Virtualisierung • Continuous Delivery • CoreOS • Deployment • Docker Anfänger • Docker-Container • Dockerhub • Entwicklungsumgebung • gitlab github • Hand-Buch lernen E-Book Grundlagen Tipps Workshop Tutorial Wissen Training • Hand-Buch lernen Grundlagen Kurse Tipps Workshops Tutorials Wissen Training • Portainer Kubernetes • Portainer, Kubernetes, Podman • Praxis-Einstieg • security • Security Deployment • Software-Entwicklungs-Umgebung • swarm • Unit-Tests
ISBN-10 3-8362-8634-3 / 3836286343
ISBN-13 978-3-8362-8634-3 / 9783836286343
Zustand Neuware
Informationen gemäß Produktsicherheitsverordnung (GPSR)
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich