0

Docker für Dummies

eBook - Für Dummies

Erschienen am 13.07.2019, 1. Auflage 2019
26,99 €
(inkl. MwSt.)

Download

E-Book Download
Bibliografische Daten
ISBN/EAN: 9783527822188
Sprache: Deutsch
Umfang: 420 S., 23.54 MB
E-Book
Format: EPUB
DRM: Adobe DRM

Beschreibung

Haben Sie Ihre Software schon »containerisiert«? Wissen Sie, wie Sie die Container-Technologie am besten in Ihrem Unternehmen einsetzen können? Wenn nicht, dann sollten Sie jetzt damit beginnen, sich mit dieser Technologie auseinanderzusetzen, da es im Schnitt alle zehn Jahre eine Revolution in der IT gibt. Und nun ist es wieder so weit: Docker erobert die Welt. Dieses Buch stellt die Docker-Technologie vor und präsentiert viele praxisrelevante Beispiele, wie diese Technologie gewinnbringend eingesetzt werden kann. Anschließend wissen Sie, wie Sie Docker für Ihre eigenen Zwecke nutzen können.

Autorenportrait

Frank Geisler und Benjamin Kettner arbeiten seit vielen Jahren in der IT und beraten ihre Kunden zu innovativen Technologien. Im Rahmen dieser Tätigkeit arbeiten sie schon lange mit Docker und haben ihre Erfahrung in dieses Buch einfließen lassen. Beide Autoren sind regelmäßig Sprecher auf IT-Konferenzen.

Inhalt

Über die Autoren 9

Einführung 21

Warum ist es wichtig, sich jetzt mit Docker zu beschäftigen? 21

Wer dieses Buch lesen sollte 23

Was Sie nicht lesen müssen 24

Törichte Annahmen über den Leser 24

Wie dieses Buch aufgebaut ist 25

Wie es weitergeht 28

Teil I Einführung in Docker29

Kapitel 1 Container oder VM?31

Was genau ist Docker? 31

Docker ist kostenlos oder? 32

Grundlegende Elemente in Docker 33

Container 35

Images 35

Container-Netzwerke 36

Vergleich Container und virtuelle Maschinen 36

Was genau macht eine Virtualisierungsumgebung? 38

Was ist ein Container? 40

Einsatzgebiete von Docker 41

Verschiedene Ausführungsarten von Docker-Containern 44

Kapitel 2 Das Fenster und der Wal: Docker on Windows47

Docker unter Windows installieren 48

Docker über die GUI installieren 49

Docker über PowerShell installieren 54

Docker über Chocolatey installieren 57

Der Windows-Container-Dienst und die unterschiedlichen Container-Arten 59

Docker auf Windows-Versionen, die kein Hyper-V besitzen 61

Was ist neu für Container in Windows Server 2019? 70

Kapitel 3 Der Apfel und der Wal: Docker auf dem Mac 71

Docker auf dem Mac installieren 72

Die Docker-Toolbox 78

Nützliche Tools für Docker auf dem Mac 85

Häufige Fehler und deren Lösung 86

Kapitel 4 Der Pinguin und der Wal: Docker on Linux89

Docker unter CentOS installieren 90

Docker unter Ubuntu installieren 91

Docker unter Arch-Linux installieren 93

Docker ohne Paketverwaltung installieren 93

Es geht auch einfacher: Convenience-Skripte 94

Docker als Nicht-root-user verwenden 95

Kapitel 5 First Contact eine erste Begegnung mit dem Wal97

Kapitel 6 Nützliche Tools für die Arbeit mit Docker105

Tools zum Schreiben und Verwalten von Quellcode 105

Tools für den Betrieb von Containern 106

CI-/CD-Tools, die Docker verwenden 107

Teil II Fortgeschrittene Techniken109

Kapitel 7 Docker von der Stange: Docker Hub111

Was ist der Docker Hub? Von Registry und Repositories 112

Ordnung im Chaos: Images im Docker Hub-Repository finden 113

Tags verwenden, um Container zu starten 118

Kapitel 8 Maßgeschneidert: Aufbau eigener Docker-Images121

Das Format von Dockerfiles 122

Ihr erstes eigenes Dockerfile 124

Eine sinnvollere Anwendung für eigene Dockerfiles 128

Ihr eigenes base image 131

Kapitel 9 Vom Image zur Umgebung: Docker Compose133

Eine Umgebung definieren: docker-compose.yml 135

Docker Compose mit eigenen Images 137

Umgebungen mit mehreren Containern 138

Ein einfacher Besuchszähler bestehend aus zwei Containern 139

Eine Entwicklungsumgebung für komplexere Webanwendungen 144

Kapitel 10 Netzwerke in Docker155

Die Docker-Netzwerke 155

Anwendungsisolierung über Docker-Netzwerke 158

Mit den Docker-Netzen spielen 159

Ein komplexeres Beispiel: Poor Mans Loadbalancer mit Round Robin 165

Kapitel 11 Docker-Inhalte behalten Volumes und Bind Mounts173

Docker-Volumes 174

Bind Mounts 179

Kapitel 12 Eine eigene Docker-Registry aufbauen183

Docker Hub unter der Lupe 184

Ein Image manuell auf Docker Hub veröffentlichen 185

Docker Hub, Docker Store und Docker Cloud 189

Die lokale Docker-Registry 189

Eine eigene Docker-Registry bauen 192

Etwas mehr Nachhaltigkeit Docker-Registry mit Bind Mount 197

Registries von Drittanbietern 200

Kapitel 13 Windows-Container und der Windows-Containerdienst203

Die Windows-Container-Arten 203

Windows-Container unter Windows 10 205

Windows-Container auf Windows Server 2016/2019 211

Kapitel 14 Ab in den Hub215

Automatisches Erstellen von Images 215

Strategien für automatisierte Builds 218

Teil III Walgesänge in Den Wolken221

Kapitel 15 Docker, Microservices-Architekturen und Serverless Computing 223

Microservices was ist das? 224

Wie funktioniert eine Microservices-Architektur? 225

Wie passt das zu Docker? 226

Wegwerf-Infrastruktur 227

Serverless Computing Server-Anwendungen ohne Server? 227

Was leisten Serverless-Dienste? 228

Wie passt Serverless zu Docker? 231

Kapitel 16 The Sky is the Limit Docker auf Azure233

Die Azure-Container-Dienste 235

Einen Container mit Azure Container instances bereitstellen 237

Einen Container über das Azure-Portal bereitstellen 241

Eine private Docker-Registry in Azure aufbauen 245

Einen Kubernetes-Cluster mit Azure Kubernetes Service (AKS) erstellen 250

Kapitel 17 Auch in Gelb: Docker auf AWS261

Amazon ECS 261

AWS Fargate 264

Amazon ECR 265

Amazon EKS 265

AWS Batch und Docker EE 267

Kapitel 18 Alle können Docker269

Google Cloud Services 269

IBM Cloud 270

Digital Ocean 270

Sloppy.io 270

Nutzung der Docker Machine 271

Kapitel 19 Docker Swarm273

Von Managern und Arbeitern 274

Erste Schritte mit Docker Swarm lokal 276

Ein Swarm-Cluster mit drei Knoten 283

Drei Knoten auf einem einzigen Rechner 284

Den Cluster in play-with-docker.com aufbauen 290

Weitere Swarm-Themen 296

Kapitel 20 Kubernetes299

Was ist Kubernetes? 299

Komponenten von Kubernetes 300

Objekte in Kubernetes 303

Knoten, Pods und Container 304

Eine Kubernetes-Umgebung aufsetzen 306

Minikube, Ihr Ein-Knoten-Cluster 306

Installation von Minikube 307

Arbeiten mit Minikube 310

Ihre erste Kubernetes-Anwendung 312

Es geht auch einfacher: Testen ohne eigenen Cluster 315

Teil IV Hands on Docker321

Kapitel 21 Unter Druck Eine WordPress-Entwicklungsumgebung323

Die WordPress-Umgebung per Hand aufbauen 323

Die WordPress-Umgebung mit Docker Compose aufbauen 334

Ein verbessertes WordPress-Image 336

Kapitel 22 Interessante Docker-Images347

Datenbanken 347

Programmiersprachen 348

Webanwendungen 349

Desktop-Anwendungen 349

Kapitel 23 Datenbanken in Containern: MySQL, MariaDB und PostgreSQL 351

MySQL 352

PHPMyAdmin 352

MariaDB 354

PostgreSQL 356

Kapitel 24 Noch mehr Datenbanken in Containern Der Microsoft SQL Server359

Einen SQL Server im Container bereitstellen 360

Einen SQL Server im Container upgraden 364

Okay, und warum genau soll ich meine SQL Server im Container laufen lassen? 369

Kapitel 25 Eine DevOps-Pipeline mit Docker373

Containerisierte Anwendungen 374

Anwendungen, die nicht in Containern laufen 377

Kapitel 26 Es gibt Kuchen, Baby Docker auf dem Raspberry Pi381

Docker auf dem Raspberry Pi installieren 382

Fünf Dinge, die Sie im Zusammenhang mit Docker und Raspberry Pi wissen sollten 395

Teil V Der Top-Ten-Teil399

Kapitel 27 10 Mythen über Docker401

Docker ist Synonym für Container 401

Docker ist das Allheilmittel 401

Es gibt klare Best Practices für Docker 401

Docker ist billiger als virtuelle Maschinen 402

Container können wie virtuelle Maschinen verwendet werden 402

Docker ist unsicher 402

Sie können nur einen Prozess pro Container starten 402

Sie müssen sich die Parameter für Ihren Run-Befehl merken 403

Docker kann nur aus der Kommandozeile bedient werden 403

Docker passt nicht zu meinem Projekt 403

Kapitel 28 10 Szenarien, in denen Sie Docker hervorragend einsetzen können405

Jupyter Notebooks 405

Python-Entwicklung 405

Microservices 406

Webentwicklung 406

Experimentieren 406

Cluster 406

Migrationen 406

CI/CD 406

Demo-Umgebungen 407

Sichere Umgebung 407

Kapitel 29 Die 10 (+2) besten Docker-Tools409

Kubernetes 409

GitHub 409

Portainer 409

Azure Kubernetes Service (AKS) 409

Amazon Elastic Container Service (ECS) 410

Visual Studio Code 410

Logstash 410

CoreOS 410

Jenkins 410

Watchtower 410

Cmdr 411

iTerm2 411

Kapitel 30 Die 10 häufigsten Docker-Fehler413

port is already allocated 413

repository does not exist or may require 'docker login' 413

container name is already in use 414

No space left 414

You cannot remove a running container 414

unable to remove repository reference 414

Multiple IDs found 415

no matching manifest 415

driver failed programming external connectivity on endpoint 415

error during connect 416

Stichwortverzeichnis 417

Informationen zu E-Books

„E-Book“ steht für digitales Buch. Um diese Art von Büchern lesen zu können wird entweder eine spezielle Software für Computer, Tablets und Smartphones oder ein E-Book Reader benötigt. Da viele verschiedene Formate (Dateien) für E-Books existieren, gilt es dabei, einiges zu beachten.
Von uns werden digitale Bücher in drei Formaten ausgeliefert. Die Formate sind EPUB mit DRM (Digital Rights Management), EPUB ohne DRM und PDF. Bei den Formaten PDF und EPUB ohne DRM müssen Sie lediglich prüfen, ob Ihr E-Book Reader kompatibel ist. Wenn ein Format mit DRM genutzt wird, besteht zusätzlich die Notwendigkeit, dass Sie einen kostenlosen Adobe® Digital Editions Account besitzen. Wenn Sie ein E-Book, das Adobe® Digital Editions benötigt herunterladen, erhalten Sie eine ASCM-Datei, die zu Digital Editions hinzugefügt und mit Ihrem Account verknüpft werden muss. Einige E-Book Reader (zum Beispiel PocketBook Touch) unterstützen auch das direkte Eingeben der Login-Daten des Adobe Accounts – somit können diese ASCM-Dateien direkt auf das betreffende Gerät kopiert werden.
Da E-Books nur für eine begrenzte Zeit – in der Regel 6 Monate – herunterladbar sind, sollten Sie stets eine Sicherheitskopie auf einem Dauerspeicher (Festplatte, USB-Stick oder CD) vorsehen. Auch ist die Menge der Downloads auf maximal 5 begrenzt.