Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Vorwort
9
Teil I Einführung
11
1 Hello World
13
1.1 Docker-Schnellinstallation
13
1.2 Apache mit PHP7
14
1.3 Node.js
17
1.4 Python
20
1.5 Fazit
21
2 Installation und Grundlagen
23
2.1 Installation
23
2.2 Grundlagen und Nomenklatur
28
2.3 Docker kennenlernen
33
2.4 Docker administrieren
50
2.5 Ein Blick hinter die Kulissen
52
3 Eigene Docker-Images (Dockerfiles)
61
3.1 Dockerfiles
61
3.2 Images in den Docker Hub hochladen
71
3.3 Pandoc- und LaTeX-Umgebung als Image einrichten
72
4 docker-Kommandoreferenz
77
5 docker-compose
97
5.1 Installation von docker-compose unter Linux
98
5.2 YAML-Syntax
99
5.3 Hello World!
101
5.4 Die docker-compose.yml-Datei
106
5.5 Das docker-compose-Kommando
114
Teil II Werkzeugkasten
119
6 Alpine Linux
121
6.1 Merkmale
122
6.2 Paketverwaltung mit apk
125
7 Webserver und Co
129
7.1 Apache HTTP Server
129
7.2 Nginx
133
7.3 Nginx als Reverse-Proxy mit SSL-Zertifikaten von Let's Encrypt
136
7.4 Node.js mit Express
144
7.5 HAProxy
150
8 Datenbanksysteme
155
8.1 MySQL und MariaDB
155
8.2 PostgreSQL
161
8.3 MongoDB
166
8.4 Redis
171
9 Programmiersprachen
175
9.1 JavaScript (Node.js)
175
9.2 Java
179
9.3 PHP
182
9.4 Ruby
189
9.5 Python
190
9.6 Swift
197
10 Webapplikationen und CMS
203
10.1 WordPress
203
10.2 Nextcloud
211
10.3 Joomla
214
Teil III Praxis
217
11 Eine moderne Webapplikation
219
11.1 Die Anwendung
220
11.2 Das Frontend – Vue.js
222
11.3 Der API-Server – Node.js Express
232
11.4 Die Mongo-Datenbank
243
11.5 Der Session-Speicher – Redis
247
12 Grafana
249
12.1 Grafana-Docker-Setup
250
12.2 Provisioning
259
12.3 Ein angepasstes Telegraf-Image
261
13 Modernisierung einer traditionellen Applikation
267
13.1 Die bestehende Applikation
268
13.2 Planung und Vorbereitung
270
13.3 Die Entwicklungsumgebung
284
13.4 Produktivumgebung und Migration
285
13.5 Updates
287
13.6 Tipps zur Umstellung
289
13.7 Fazit
289
14 GitLab
291
14.1 GitLab-Schnellstart
293
14.2 GitLab-Webinstallation
294
14.3 HTTPS über ein Reverse-Proxy-Setup
296
14.4 E-Mail-Versand
298
14.5 SSH-Zugriff
301
14.6 Volumes und Backup
302
14.7 Eigene Docker-Registry für GitLab
304
14.8 Die vollständige docker-compose-Datei
306
14.9 GitLab verwenden
307
14.10 GitLab Runner
312
14.11 Mattermost
318
15 Continuous Integration und Continuous Delivery
325
15.1 Die dockerbuch.info-Website mit gohugo.io
326
15.2 Docker-Images für die CI/CD-Pipeline
331
15.3 Die CI/CD-Pipeline
334
16 Sicherheit
347
16.1 Software-Installation
347
16.2 Herkunft der Docker-Images
349
16.3 »root« in Docker-Images
350
16.4 Der Docker-Dämon
353
16.5 User-Namespaces
354
16.6 cgroups
356
16.7 Secure Computing Mode
358
16.8 AppArmor-Sicherheitsprofile
358
17 Swarm und Amazon ECS
361
17.1 Docker Swarm
363
17.2 Docker Swarm in der Hetzner Cloud
367
17.3 Amazon Elastic Container Service
378
18 Kubernetes
389
18.1 Minikube
390
18.2 Amazon EKS (Elastic Container Service for Kubernetes)
401
18.3 Microsoft AKS (Azure Kubernetes Service)
409
18.4 Google Kubernetes Engine
416
Materialien zum Buch
426
Index
427