Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
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
printheadlines-Beispiel
208
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
SSL-Zertifikate von Let's Encrypt verwenden
444
A Docker-Alternative Podman
451
Index
463