Docker

Docker
Das Praxisbuch für Entwickler und DevOps-Teams. Grundlagen, Einstieg, Konzepte. Für Windows, macOS und Linux
Sofort lieferbar | Lieferzeit: Sofort lieferbar I

39,90 €*

Alle Preise inkl. MwSt. | Versandkostenfrei
Artikel-Nr:
9783836296465
Veröffentl:
2023
Erscheinungsdatum:
09.10.2023
Seiten:
510
Autor:
Bernd Öggl
Gewicht:
1075 g
Format:
247x175x36 mm
Serie:
Rheinwerk Computing
Sprache:
Deutsch
Beschreibung:

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

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, Docker Desktop, Podman 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


Die Fachpresse zur Vorauflage:

c't: »Insgesamt ist das Buch eine runde Sache. Es wendet sich an Entwickler und Admins, ist aber streckenweise auch für Entscheider interessant.«

Praxiswissen zur Projekt-Migration, Sicherheit, Kubernetes, Cloud-Setups, Podman

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 ... 31
2.3 ... Docker-Installation unter macOS ... 33
2.4 ... Docker-Installation unter Linux ... 34
2.5 ... Rootless Docker ... 38
2.6 ... Docker Desktop unter Linux ... 43
2.7 ... Podman installieren ... 45

3. Grundlagen ... 49

3.1 ... Grundlagen und Nomenklatur ... 49
3.2 ... Container ausführen ... 55
3.3 ... Container interaktiv verwenden ... 58
3.4 ... Portweiterleitung ... 65
3.5 ... Datenspeicherung in Volumes ... 68
3.6 ... Volumes mit Namen ... 75
3.7 ... Volumes in eigenen Verzeichnissen ... 76
3.8 ... Kommunikation zwischen mehreren Containern ... 78
3.9 ... Administration ... 85

4. Eigene Images ... 91

4.1 ... Hello, Dockerfile! ... 92
4.2 ... Dockerfile-Syntax ... 94
4.3 ... Ein eigenes Webserver-Image ... 100
4.4 ... Images in den Docker Hub hochladen ... 103
4.5 ... Multi-Arch-Images ... 106
4.6 ... Beispiel: Pandoc- und LaTeX-Umgebung als Image einrichten ... 109

5. Container-Setups mit »compose« ... 113

5.1 ... YAML-Syntax ... 115
5.2 ... Hello Compose! ... 116
5.3 ... Die Datei compose.yaml ... 123
5.4 ... Passwörter und andere Geheimnisse ... 131
5.5 ... Neue Projekte einrichten (docker init) ... 132

6. Tipps, Tricks und Interna ... 135

6.1 ... Docker Desktop und Podman Desktop ... 136
6.2 ... Visual Studio Code ... 139
6.3 ... Portainer ... 142
6.4 ... Pull-Limit im Docker Hub ... 144
6.5 ... Unterschiedliche CPU-Architekturen nutzen ... 149
6.6 ... Container automatisch starten ... 152
6.7 ... Docker-Interna ... 157
6.8 ... Podman-Interna ... 170

7. Kommandoreferenz ... 179
TEIL II. Werkzeugkasten ... 203
8. Alpine Linux ... 205

8.1 ... Merkmale ... 206
8.2 ... Paketverwaltung mit apk ... 209

9. Webserver und Co. ... 213

9.1 ... Apache HTTP Server ... 213
9.2 ... Nginx ... 219
9.3 ... Nginx als Reverse Proxy mit SSL-Zertifikaten von Let's Encrypt ... 222
9.4 ... Caddy ... 230
9.5 ... Node.js mit Express ... 232
9.6 ... HAProxy ... 237
9.7 ... Traefik-Proxy ... 239

10. Datenbanksysteme ... 245

10.1 ... MySQL und MariaDB ... 245
10.2 ... PostgreSQL ... 251
10.3 ... MongoDB ... 256
10.4 ... Redis ... 263

11. Programmiersprachen ... 267

11.1 ... JavaScript (Node.js) ... 267
11.2 ... Java ... 271
11.3 ... PHP ... 274
11.4 ... Ruby ... 280
11.5 ... Python ... 281
11.6 ... Go ... 288

12. Webapplikationen und CMS ... 297

12.1 ... WordPress ... 297
12.2 ... Nextcloud ... 305
12.3 ... Joomla ... 308

TEIL III. Praxis ... 311
13. Eine moderne Webapplikation ... 313

13.1 ... Die Anwendung ... 314
13.2 ... Das Frontend -- Vue.js ... 316
13.3 ... Der API-Server -- Node.js Express ... 326
13.4 ... Die MongoDB-Datenbank ... 336
13.5 ... Der Sessionspeicher -- Redis ... 341

14. Grafana ... 343

14.1 ... Grafana-Docker-Setup ... 344
14.2 ... Provisioning ... 354
14.3 ... Ein angepasstes Telegraf-Image ... 356

15. Modernisierung einer traditionellen Applikation ... 363

15.1 ... Die bestehende Applikation ... 364
15.2 ... Planung und Vorbereitung ... 366
15.3 ... Die Entwicklungsumgebung ... 380
15.4 ... Produktivumgebung und Migration ... 381
15.5 ... Updates ... 384
15.6 ... Tipps für die Umstellung ... 385
15.7 ... Fazit ... 386

16. GitLab ... 387

16.1 ... GitLab-Schnellstart ... 389
16.2 ... GitLab-Webinstallation ... 390
16.3 ... HTTPS über ein Reverse-Proxy-Setup ... 392
16.4 ... E-Mail-Versand ... 393
16.5 ... SSH-Zugriff ... 396
16.6 ... Volumes und Backup ... 397
16.7 ... Eigene Docker-Registry für GitLab ... 399
16.8 ... Die vollständige compose-Datei ... 401
16.9 ... GitLab verwenden ... 403
16.10 ... GitLab-Runner ... 407
16.11 ... Mattermost ... 410

17. Continuous Integration und Continuous Delivery ... 417

17.1 ... Die Website dockerbuch.info mit gohugo.io ... 418
17.2 ... Docker-Images für die CI/CD-Pipeline ... 423
17.3 ... Die CI/CD-Pipeline ... 426

18. Sicherheit ... 437

18.1 ... Softwareinstallation ... 437
18.2 ... Herkunft der Docker-Images ... 439
18.3 ... »root« in Docker-Images ... 442
18.4 ... Der Docker-Dämon ... 443
18.5 ... User Namespaces ... 445
18.6 ... cgroups ... 447
18.7 ... Secure Computing Mode ... 448
18.8 ... AppArmor-Sicherheitsprofile ... 449

19. Swarm ... 451

19.1 ... Docker Swarm ... 453
19.2 ... Docker Swarm in der Hetzner-Cloud ... 458

20. Kubernetes ... 469

20.1 ... Minikube ... 470
20.2 ... Amazon EKS (Elastic Kubernetes Service) ... 482
20.3 ... Microsoft AKS (Azure Kubernetes Service) ... 486
20.4 ... Google Kubernetes Engine ... 495

Index ... 505

Kunden Rezensionen

Zu diesem Artikel ist noch keine Rezension vorhanden.
Helfen sie anderen Besuchern und verfassen Sie selbst eine Rezension.