Zum Hauptinhalt springen
Nicht aus der Schweiz? Besuchen Sie lehmanns.de
Docker in der Praxis -  Dargslan

Docker in der Praxis (eBook)

Containerisierung für Entwickler und Administratoren

(Autor)

eBook Download: EPUB
2025 | 1. Auflage
386 Seiten
Dargslan s.r.o. (Verlag)
978-0-00-100862-5 (ISBN)
Systemvoraussetzungen
9,99 inkl. MwSt
(CHF 9,75)
Der eBook-Verkauf erfolgt durch die Lehmanns Media GmbH (Berlin) zum Preis in Euro inkl. MwSt.
  • Download sofort lieferbar
  • Zahlungsarten anzeigen

Revolutionieren Sie Ihre Softwareentwicklung mit Docker - Der ultimative Praxisleitfaden für Container-Technologie


Entdecken Sie die Macht der Containerisierung mit diesem umfassenden Handbuch, das speziell für deutsche Entwickler und Systemadministratoren konzipiert wurde. 'Docker in der Praxis' ist Ihr kompletter Wegweiser von den Grundlagen bis zu fortgeschrittenen Enterprise-Deployments mit Docker und Docker Compose.


Warum dieses Buch Ihr Game-Changer wird:


In der heutigen schnelllebigen IT-Welt ist Docker nicht mehr nur ein Nice-to-have - es ist essentiell. Dieses Buch löst das klassische 'Es läuft auf meinem Rechner'-Problem und zeigt Ihnen, wie Sie konsistente, skalierbare Anwendungen entwickeln, die in jeder Umgebung identisch funktionieren.


Das lernen Sie Schritt für Schritt:


Container-Grundlagen von Null auf Hundert verstehen und sofort anwenden
Docker Images professionell erstellen, optimieren und für Production vorbereiten
Multi-Container-Anwendungen mit Docker Compose orchestrieren und verwalten 
DevOps-Integration und automatisierte CI/CD-Pipelines implementieren 
Microservice-Architekturen planen und mit Docker umsetzen 
Sicherheits-Best-Practices für produktive Docker-Umgebungen 
Monitoring und Logging für Container-basierte Anwendungen 
Kubernetes-Integration


Für wen ist dieses Buch perfekt geeignet:


Softwareentwickler, die ihre Applications containerisieren möchten


DevOps-Engineers, die moderne Deployment-Strategien implementieren wollen


Systemadministratoren, die Container-Infrastrukturen aufbauen müssen


IT-Architekten, die skalierbare Microservice-Landschaften planen


Teams, die ihre Entwicklungs- und Deployment-Prozesse modernisieren wollen


Einzigartige Praxisorientierung:


Jedes Kapitel kombiniert fundierte Theorie mit sofort umsetzbaren Beispielen. Sie arbeiten mit realen Szenarien - von einfachen Web-Apps bis zu komplexen Enterprise-Anwendungen. Alle Code-Beispiele sind in GitHub verfügbar und können direkt in Ihren Projekten verwendet werden.


Ihre Vorteile auf einen Blick:


Sofortige Produktivitätssteigerung durch bewährte Docker-Patterns
Hands-on Tutorials mit real-world Beispielen und Lösungen
Umfassende Referenz mit Kommando-Übersichten und Troubleshooting-Guides Enterprise-ready Strategien für produktive Docker-Environments 
Best Practices aus jahrelanger Praxiserfahrung
Security-First Ansatz für sichere Container-Deployments


Technische Abdeckung:


Das Buch behandelt alle relevanten Docker-Technologien: von grundlegenden Containern über Docker Compose, Docker Swarm bis hin zu Kubernetes-Integration. Sie lernen sowohl Linux- als auch Windows-Container kennen und verstehen, wann welche Technologie optimal eingesetzt wird.


Aufbau des Buches:


Grundlagen (Kapitel 1-5): Installation, erste Container, Image-Erstellung


Praktische Anwendung (Kapitel 6-14): Docker Compose, Networking, Volumes, Production-Deployments


Advanced Topics (Kapitel 15-18): Security, Monitoring, Orchestrierung, CI/CD-Integration


Anhänge: Kommando-Referenz, Troubleshooting, Templates


Starten Sie jetzt Ihre Docker-Journey und transformieren Sie Ihre Softwareentwicklung nachhaltig!

Einleitung


Die Revolution der Containerisierung mit Docker


In der heutigen schnelllebigen Welt der Softwareentwicklung und IT-Administration stehen Entwickler und Systemadministratoren vor einer Vielzahl komplexer Herausforderungen. Die traditionellen Ansätze der Anwendungsbereitstellung und -verwaltung stoßen zunehmend an ihre Grenzen, während die Anforderungen an Skalierbarkeit, Portabilität und Effizienz stetig wachsen. Genau hier kommt Docker ins Spiel – eine revolutionäre Technologie, die die Art und Weise, wie wir Anwendungen entwickeln, verteilen und betreiben, grundlegend verändert hat.

Docker hat sich in den letzten Jahren von einem interessanten Open-Source-Projekt zu einer der wichtigsten Technologien in der modernen IT-Landschaft entwickelt. Die Containerisierungstechnologie ermöglicht es, Anwendungen zusammen mit all ihren Abhängigkeiten in leichtgewichtigen, portablen Containern zu verpacken, die überall dort ausgeführt werden können, wo Docker verfügbar ist. Diese Flexibilität und Konsistenz macht Docker zu einem unverzichtbaren Werkzeug für jeden, der sich ernsthaft mit moderner Softwareentwicklung und IT-Operations beschäftigt.

Was ist Docker und warum ist es wichtig?


Docker basiert auf dem Konzept der Containerisierung, einer Virtualisierungsmethode auf Betriebssystemebene, die es ermöglicht, mehrere isolierte Anwendungen auf einem einzigen Host-System auszuführen. Im Gegensatz zu traditionellen virtuellen Maschinen, die ein komplettes Betriebssystem virtualisieren, teilen sich Docker-Container den Kernel des Host-Betriebssystems, was sie deutlich ressourcenschonender und schneller macht.

Die Kernidee hinter Docker ist die Kapselung von Anwendungen in standardisierten Einheiten, die alle notwendigen Komponenten enthalten: Code, Laufzeitumgebung, Systemtools, Systembibliotheken und Einstellungen. Diese Container sind vollständig isoliert voneinander und vom Host-System, was eine hohe Sicherheit und Stabilität gewährleistet.

Die Vorteile der Containerisierung


Die Containerisierung mit Docker bietet eine Vielzahl von Vorteilen, die sowohl Entwicklern als auch Administratoren zugutekommen:

Konsistenz und Portabilität: Docker-Container verhalten sich identisch, unabhängig davon, ob sie auf einem Entwicklerlaptop, einem Testserver oder in einer Produktionsumgebung ausgeführt werden. Das berühmte Problem "Es funktioniert auf meinem Rechner" gehört damit der Vergangenheit an.

Effizienz und Ressourcennutzung: Container sind deutlich leichtgewichtiger als virtuelle Maschinen. Sie starten in Sekunden statt Minuten und benötigen weniger Speicher und CPU-Ressourcen, da sie sich den Host-Kernel teilen.

Skalierbarkeit: Docker macht es einfach, Anwendungen horizontal zu skalieren. Neue Container-Instanzen können schnell gestartet werden, um auf erhöhte Last zu reagieren, und ebenso schnell wieder gestoppt werden, wenn sie nicht mehr benötigt werden.

Isolation: Jeder Container läuft in seiner eigenen isolierten Umgebung. Probleme in einem Container können andere Container oder das Host-System nicht beeinträchtigen.

Versionierung und Rollbacks: Docker-Images können versioniert werden, was einfache Rollbacks und die Nachverfolgung von Änderungen ermöglicht.

Die Docker-Architektur verstehen


Um Docker effektiv nutzen zu können, ist es wichtig, die grundlegende Architektur zu verstehen. Docker folgt einer Client-Server-Architektur und besteht aus mehreren Kernkomponenten:

Docker Engine


Die Docker Engine ist das Herzstück von Docker. Sie besteht aus einem Server-Daemon (dockerd), einer REST-API und einem Command-Line-Interface (CLI). Der Docker-Daemon ist für die Verwaltung von Docker-Objekten wie Images, Containern, Netzwerken und Volumes verantwortlich.

# Docker-Daemon-Status überprüfen

sudo systemctl status docker

 

# Docker-Version anzeigen

docker --version

 

# Detaillierte Systeminformationen

docker system info

Docker Images


Ein Docker-Image ist eine schreibgeschützte Vorlage, die zur Erstellung von Containern verwendet wird. Images werden aus einer Reihe von Layern aufgebaut, wobei jeder Layer eine Änderung am Dateisystem darstellt. Diese Layer-Architektur ermöglicht eine effiziente Speichernutzung und schnelle Image-Erstellung.

# Verfügbare Images auflisten

docker images

 

# Image von Docker Hub herunterladen

docker pull ubuntu:20.04

 

# Image-Details anzeigen

docker inspect ubuntu:20.04

Docker Container


Container sind laufende Instanzen von Docker-Images. Sie können gestartet, gestoppt, verschoben und gelöscht werden. Container sind isolierte Prozesse, die ihre eigene Dateisystem-Sicht, Netzwerk-Interface und Prozess-Namespace haben.

# Container aus Image erstellen und starten

docker run -it ubuntu:20.04 /bin/bash

 

# Laufende Container anzeigen

docker ps

 

# Alle Container anzeigen (auch gestoppte)

docker ps -a

 

# Container stoppen

docker stop container_name

 

# Container entfernen

docker rm container_name

Docker Registry


Eine Docker Registry ist ein Speicherort für Docker-Images. Docker Hub ist die öffentliche Registry von Docker, aber Organisationen können auch private Registries betreiben. Registries ermöglichen das Teilen und Verteilen von Images zwischen verschiedenen Umgebungen und Teams.

# Image zu Registry hochladen

docker push myusername/myimage:tag

 

# Image aus privater Registry herunterladen

docker pull myregistry.com/myimage:tag

 

# Bei Registry anmelden

docker login myregistry.com

Dockerfile: Die Grundlage für reproduzierbare Images


Das Dockerfile ist eine Textdatei, die eine Reihe von Anweisungen enthält, die Docker verwendet, um automatisch ein Image zu erstellen. Es ist das Herzstück der Infrastructure-as-Code-Philosophie in der Docker-Welt und ermöglicht es, Images reproduzierbar und versionierbar zu erstellen.

Grundlegende Dockerfile-Anweisungen


Ein typisches Dockerfile enthält verschiedene Anweisungen, die jeweils einen neuen Layer im resultierenden Image erstellen:

# Beispiel eines einfachen Dockerfiles

FROM ubuntu:20.04

MAINTAINER Ihr Name <ihre.email@example.com>

 

# Umgebungsvariablen setzen

ENV DEBIAN_FRONTEND=noninteractive

 

# System aktualisieren und Pakete installieren

RUN apt-get update && apt-get install -y /

curl /

git /

vim /

&& rm -rf /var/lib/apt/lists/*

 

# Arbeitsverzeichnis setzen

WORKDIR /app

 

# Dateien kopieren

COPY . /app

 

# Port freigeben

EXPOSE 8080

 

# Standard-Kommando definieren

CMD ["./start.sh"]

Best Practices für Dockerfile-Erstellung


Bei der Erstellung von Dockerfiles sollten verschiedene Best Practices beachtet werden, um effiziente und sichere Images zu erstellen:

Layer-Optimierung: Kombinieren Sie RUN-Anweisungen, um die Anzahl der Layer zu reduzieren. Jede Anweissung im Dockerfile erstellt einen neuen Layer, und eine große Anzahl von Layern kann die Performance beeinträchtigen.

Cache-Nutzung: Docker verwendet einen Build-Cache, um den Image-Erstellungsprozess zu beschleunigen. Ordnen Sie Anweisungen so an, dass sich häufig ändernde Anweisungen am Ende des Dockerfiles befinden.

Multi-Stage-Builds: Verwenden Sie Multi-Stage-Builds, um die finale Image-Größe zu reduzieren, indem Sie Build-Abhängigkeiten von der Runtime-Umgebung trennen.

# Multi-Stage-Build-Beispiel

FROM node:16 AS builder

WORKDIR /app

COPY package*.json ./

RUN npm install

COPY . .

RUN npm run build

 

FROM nginx:alpine

COPY --from=builder /app/dist /usr/share/nginx/html

EXPOSE 80

CMD ["nginx", "-g", "daemon off;"]

Docker Compose: Orchestrierung von Multi-Container-Anwendungen


Während Docker hervorragend für einzelne Container geeignet ist, werden moderne Anwendungen oft aus mehreren Komponenten zusammengesetzt, die in separaten Containern laufen. Docker Compose ist ein Tool zur Definition und Ausführung von Multi-Container-Docker-Anwendungen. Mit einer YAML-Datei konfigurieren Sie die Services Ihrer Anwendung und können dann mit einem einzigen Befehl alle Services erstellen und starten.

Docker Compose Grundlagen


Docker Compose verwendet eine docker-compose.yml-Datei zur Definition der Services, Netzwerke und Volumes, die Ihre Anwendung benötigt:

# Beispiel docker-compose.yml

version: '3.8'

 

services:

web:

build: .

ports:

- "8000:8000"

volumes:

- .:/app

environment:

- DEBUG=1

depends_on:

-...

Erscheint lt. Verlag 9.8.2025
Übersetzer Tobias Schneider
Sprache deutsch
Themenwelt Mathematik / Informatik Informatik Netzwerke
ISBN-10 0-00-100862-5 / 0001008625
ISBN-13 978-0-00-100862-5 / 9780001008625
Informationen gemäß Produktsicherheitsverordnung (GPSR)
Haben Sie eine Frage zum Produkt?
EPUBEPUB (Adobe DRM)
Größe: 1,4 MB

Kopierschutz: Adobe-DRM
Adobe-DRM ist ein Kopierschutz, der das eBook vor Mißbrauch schützen soll. Dabei wird das eBook bereits beim Download auf Ihre persönliche Adobe-ID autorisiert. Lesen können Sie das eBook dann nur auf den Geräten, welche ebenfalls auf Ihre Adobe-ID registriert sind.
Details zum Adobe-DRM

Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belle­tristik und Sach­büchern. Der Fließ­text wird dynamisch an die Display- und Schrift­größe ange­passt. Auch für mobile Lese­geräte ist EPUB daher gut geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen eine Adobe-ID und die Software Adobe Digital Editions (kostenlos). Von der Benutzung der OverDrive Media Console raten wir Ihnen ab. Erfahrungsgemäß treten hier gehäuft Probleme mit dem Adobe DRM auf.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen eine Adobe-ID sowie eine kostenlose App.
Geräteliste und zusätzliche Hinweise

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Das Auto der Zukunft – Vernetzt und autonom fahren

von Roman Mildner; Thomas Ziller; Franco Baiocchi

eBook Download (2024)
Springer Fachmedien Wiesbaden (Verlag)
CHF 37,10