
Docker Praxiseinstieg
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
- Docker-Images und -Container verwenden
- Container deployen und debuggen
- Einsatz von Tools: Docker Swarm, Kubernetes, Amazon EC2 Container Services
Linux-Container besitzen das Potenzial, das Deployment von Applikationen für verschiedene Umgebungen stark zu verändern. Dieses Buch weist Ihnen den Weg zu einer funktionierenden Docker-Umgebung. Die Autoren zeigen Ihnen, wie Sie Docker-Images Ihrer Anwendungen inklusive aller Abhängigkeiten erstellen, wie Sie diese testen, deployen und skalieren können, und wie Sie die Container in der Produktivumgebung pflegen und warten. Dabei kommen Themen wie die Einrichtung, das Testen und das Deployment von Docker-Anwendungen ebenso zur Sprache wie das Debugging eines laufenden Systems.
Mit diesem Buch werden Sie verstehen, was Docker wirklich leistet, welche Relevanz es hat, wie Sie es zum Laufen bekommen, wie Sie damit Ihre Anwendungen deployen können und was erforderlich ist, um es in einer Produktivumgebung einzusetzen.
Die Autoren dieses Buches sind in dem Unternehmen New Relic für die Sicherstellung der Stabilität der dort entwickelten Anwendungen zuständig und lassen Sie an ihren im praktischen Umgang mit Docker gesammelten Erfahrungen teilhaben. Ihre Zielsetzung lautet, Sie von ihren Erkenntnissen profitieren zu lassen und davor zu bewahren, dieselben Rückschläge hinnehmen zu müssen, die den Autoren in diesem Kontext widerfahren sind.
Aus dem Inhalt:- Einfachere Handhabung der Abhängigkeiten und des Deployments von Anwendungen mit Docker
- Docker-Architektur und Optimierung des Workflows
- Installation unter Linux, macOS und Windows
- Einsatz von Docker-Images und -Containern
- Das Kommandozeilentool docker
- Praxisnahe Verfahren für das Deployment und das Testen von Linux-Containern in Produktivumgebungen
- Container-Debugging
- Einsatz von Docker Compose
- Deployment skalierbarer Container in Produktivumgebungen
-
Weiterführende Themen:
- Deployment-Tools
- Vernetzung
- Orchestrierung
- Sicherheitsaspekte
- Konfiguration
More details
Other editions
Additional editions

Persons
Karl Matthias war als Entwickler, Systemadministrator und Netzwerktechniker für Start-ups und verschiedene Fortune-500-Unternehmen tätig.
Sean P. Kane war lange als IT-Techniker tätig und hat in sehr breit gefächerten Industriebranchen (Biotechnologie, Verteidigungswesen, Hightech-Unternehmen) viele verschiedene Posten bekleidet.
Content
- Cover
- Titel
- Impressum
- Inhaltsverzeichnis
- Vorwort
- Über die Autoren
- Einleitung
- Wer sollte dieses Buch lesen?
- Warum überhaupt dieses Buch lesen?
- Aufbau des Buchs
- Konventionen dieses Buchs
- Danksagungen
- Kapitel 1: Einführung
- 1.1 Die Entstehung von Docker
- 1.2 Das Docker-Versprechen
- 1.2.1 Vorteile des Docker-Workflows
- 1.3 Was Docker nicht ist
- 1.4 Wichtige Begrifflichkeiten
- 1.5 Zusammenfassung
- Kapitel 2: Docker im Überblick
- 2.1 Workflows vereinfachen
- 2.2 Umfassender Support und breite Akzeptanz
- 2.3 Architektur
- 2.3.1 Das Client-Server-Modell
- 2.3.2 Netzwerk-Ports und Unix-Sockets
- 2.3.3 Stabiles Tooling
- 2.3.4 Dockers Kommandozeilentool
- 2.3.5 Docker-Engine-API
- 2.3.6 Container-Netzwerk
- 2.4 Docker ausreizen
- 2.4.1 Container sind keine virtuellen Maschinen
- 2.4.2 Beschränkte Isolierung
- 2.4.3 Container sind leichtgewichtig
- 2.4.4 Unveränderliche Infrastruktur
- 2.4.5 Zustandslose Anwendungen
- 2.4.6 Zustände externalisieren
- 2.5 Der Docker-Workflow
- 2.5.1 Versionsverwaltung
- 2.5.2 Anwendungen erstellen
- 2.5.3 Testen
- 2.5.4 Paketierung
- 2.5.5 Deployment
- 2.5.6 Das Docker-Ökosystem
- 2.6 Zusammenfassung
- Kapitel 3: Docker installieren
- 3.1 Der Docker-Client
- 3.1.1 Linux
- 3.1.2 macOS
- 3.1.3 Microsoft Windows 10 Professional
- 3.2 Der Docker-Server
- 3.2.1 Linux mit systemd
- 3.2.2 Server, die nicht auf Linux-VMs basieren
- 3.3 Installation testen
- 3.3.1 Ubuntu
- 3.3.2 Fedora
- 3.3.3 Alpine Linux
- 3.4 Docker-Server erkunden
- 3.5 Zusammenfassung
- Kapitel 4: Docker-Images verwenden
- 4.1 Der Aufbau eines Dockerfiles
- 4.2 Erstellen eines Images
- 4.3 Fehlerbehebung bei fehlgeschlagenen Builds
- 4.4 Ausführen eines Images
- 4.4.1 Umgebungsvariablen
- 4.5 Benutzerdefinierte Base-Images
- 4.6 Images speichern
- 4.6.1 Öffentliche Registries
- 4.6.2 Private Registries
- 4.6.3 Authentifizierung
- 4.6.4 Eine private Registry betreiben
- 4.6.5 Fortgeschrittene Build-Techniken
- 4.7 So geht es weiter
- Kapitel 5: Docker-Container verwenden
- 5.1 Was sind Container?
- 5.1.1 Die Entstehungsgeschichte der Container
- 5.2 Container erstellen
- 5.2.1 Grundlegende Konfiguration
- 5.2.2 Speichervolumes
- 5.2.3 Ressourcen-Quotas
- 5.3 Container starten
- 5.4 Container automatisch neu starten
- 5.5 Container stoppen
- 5.6 Container sofort beenden
- 5.7 Ausführung eines Containers pausieren und fortsetzen
- 5.8 Container und Images aufräumen
- 5.9 Windows-Container
- 5.10 So geht es weiter
- Kapitel 6: Docker erkunden
- 6.1 Ausgabe der Docker-Version
- 6.2 Informationen über den Server
- 6.3 Image-Updates herunterladen
- 6.4 Container inspizieren
- 6.5 Die Shell erkunden
- 6.6 Ausgabe von Rückgabewerten
- 6.7 In einen laufenden Container gelangen
- 6.7.1 docker exec
- 6.7.2 nsenter
- 6.7.3 docker volume
- 6.8 Logging
- 6.8.1 docker logs
- 6.8.2 Fortgeschrittenes Logging
- 6.8.3 Non-Plug-in-Community-Optionen
- 6.9 Docker überwachen
- 6.9.1 Containerstatistiken
- 6.9.2 Stats-API-Endpunkt
- 6.9.3 Container-Health-Checks
- 6.9.4 Docker-Events
- 6.9.5 cAdvisor
- 6.10 Monitoring mit Prometheus
- 6.11 Weitere Erkundung
- 6.12 So geht es weiter
- Kapitel 7: Container debuggen
- 7.1 Prozesse anzeigen
- 7.2 Prozesse inspizieren
- 7.3 Prozessverwaltung
- 7.4 Das Netzwerk inspizieren
- 7.5 Image-History
- 7.6 Inspizieren eines Containers
- 7.7 Dateisystem inspizieren
- 7.8 So geht es weiter
- Kapitel 8: Docker Compose
- 8.1 Docker Compose konfigurieren
- 8.2 Services starten
- 8.3 RocketChat
- 8.4 Weitere Features von Docker Compose
- 8.5 So geht es weiter
- Kapitel 9: Der Weg zu Containern in Produktivumgebungen
- 9.1 Einstieg in die Produktion
- 9.2 Dockers Rolle in Produktivumgebungen
- 9.2.1 Beschränkung der Ressourcen
- 9.2.2 Netzwerke
- 9.2.3 Konfiguration
- 9.2.4 Paketierung und Auslieferung
- 9.2.5 Logging
- 9.2.6 Monitoring
- 9.2.7 Scheduling
- 9.2.8 Service Discovery
- 9.2.9 Fazit zur Produktion
- 9.3 Docker und die DevOps-Pipeline
- 9.3.1 Kurzübersicht
- 9.3.2 Externe Abhängigkeiten
- 9.4 So geht es weiter
- Kapitel 10: Skalierung
- 10.1 Centurion
- 10.2 Docker Swarm Mode
- 10.3 Amazon ECS und Fargate
- 10.3.1 Einrichten von AWS
- 10.3.2 Einrichtung von IAM-Rollen
- 10.3.3 Einrichtung der AWS-CLI-Tools
- 10.3.4 Container-Instanzen
- 10.3.5 Tasks
- 10.3.6 Testen des Tasks
- 10.3.7 Task stoppen
- 10.4 Kubernetes
- 10.4.1 Was ist Minikube?
- 10.4.2 Minikube installieren
- 10.4.3 Kubernetes zum Laufen bringen
- 10.4.4 Kubernetes-Dashboard
- 10.4.5 Kubernetes-Container und Pods
- 10.4.6 Das erste Deployment
- 10.4.7 Deployment eines realistischen Stacks
- 10.4.8 Service-Definition
- 10.4.9 Definition des PersistentVolumeClaim
- 10.4.10 Deployment-Definition
- 10.4.11 Die Anwendung deployen
- 10.4.12 Hochskalierung
- 10.4.13 kubectl-API
- 10.5 Zusammenfassung
- Kapitel 11: Weiterführende Themen
- 11.1 Container im Detail
- 11.1.1 Control Groups (cgroups)
- 11.1.2 Kernel- und Benutzer-Namespaces
- 11.2 Sicherheitsaspekte
- 11.2.1 SELinux und AppArmor
- 11.2.2 Wie sicher ist der Docker-Daemon?
- 11.3 Erweiterte Konfiguration
- 11.3.1 Netzwerke
- 11.4 Storage
- 11.5 Die Struktur von Docker
- 11.6 Runtimes austauschen
- 11.6.1 Clear-Container/Kata-Container
- 11.6.2 gVisor
- 11.7 Zusammenfassung
- Kapitel 12: Container in der Produktivumgebung
- 12.1 »The Twelve-Factor App«-Manifest
- 12.1.1 Codebasis
- 12.1.2 Abhängigkeiten
- 12.1.3 Konfiguration
- 12.1.4 Unterstützende Services
- 12.1.5 Build, Release und Ausführung
- 12.1.6 Prozesse
- 12.1.7 Portanbindung
- 12.1.8 Nebenläufigkeit
- 12.1.9 Austauschbarkeit
- 12.1.10 Gleichstellung von Entwicklungs- und Produktivumgebung
- 12.1.11 Logs
- 12.1.12 Administrationsprozesse
- 12.1.13 »Twelve-Factor«-Zusammenfassung
- 12.2 The Reactive Manifesto
- 12.2.1 Reaktionsschnell
- 12.2.2 Belastbar
- 12.2.3 Flexibel
- 12.2.4 Nachrichtengesteuert
- 12.3 Zusammenfassung
- Kapitel 13: Schlusswort
- 13.1 Herausforderungen
- 13.2 Der Docker-Workflow
- 13.3 Minimierung der Deployment-Artefakte
- 13.4 Speicherung und Abruf optimieren
- 13.5 Der Lohn der Mühe
- 13.6 Zu guter Letzt
- Stichwortverzeichnis
System requirements
File format: PDF
Copy protection: Watermark-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Use the free software Adobe Reader, Adobe Digital Editions, or any other PDF viewer of your choice (see eBook Help).
- Tablet/Smartphone (Android; iOS): Install the free app Adobe Digital Editions or another reading app for eBooks, e.g., PocketBook (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Watermark-DRM, a „soft” copy protection. This means that there are no technical restrictions to prevent illegal distribution. However, there is a personalised watermark embedded in the eBook that can be used to identify the purchaser of the eBook in the event of misuse and to provide evidence for legal purposes.
For more information, see our eBook Help page.