Docker Entwicklungsumgebung auf macOS oder Windows einrichten

DockerDockerBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Docker ist zu einem unverzichtbaren Werkzeug für Entwickler geworden, das es ihnen ermöglicht, containerisierte Anwendungen einfach zu erstellen und zu verwalten. Dieses Tutorial führt Sie durch die Einrichtung einer Docker-Entwicklungsumgebung unter macOS oder Windows und stellt sicher, dass Sie über die notwendigen Tools und Kenntnisse verfügen, um Docker-basierte Anwendungen zu erstellen und bereitzustellen.

Grundlagen von Docker verstehen

Was ist Docker?

Docker ist eine Open-Source-Plattform, die es Entwicklern ermöglicht, Anwendungen in einer konsistenten und isolierten Umgebung, sogenannten Containern, zu erstellen, bereitzustellen und auszuführen. Container verpacken eine Anwendung und alle ihre Abhängigkeiten, um sicherzustellen, dass die Anwendung unabhängig von der zugrunde liegenden Infrastruktur zuverlässig und konsistent läuft.

Docker-Container

Ein Docker-Container ist ein leichtgewichtiges, eigenständiges und ausführbares Paket, das alles enthält, was zum Ausführen einer Anwendung benötigt wird – den Code, die Laufzeitumgebung, Systemtools und Bibliotheken. Container sind voneinander und vom Host-Betriebssystem isoliert, wodurch eine konsistente und zuverlässige Umgebung für den Betrieb der Anwendung bereitgestellt wird.

graph LR A[Anwendung] --> B[Abhängigkeiten] B --> C[Laufzeitumgebung] C --> D[Betriebssystem] D --> E[Docker-Container] E --> F[Docker-Host]

Docker-Images

Docker-Images sind die Bausteine von Containern. Ein Image ist eine schreibgeschützte Vorlage, die die Anweisungen zum Erstellen eines Docker-Containers enthält. Images werden mithilfe einer Dockerfile erstellt, einer Textdatei, die alle Befehle enthält, die zum Erstellen des Images benötigt werden.

Docker-Registry

Docker Registry ist ein Speicher- und Verteilungssystem für Docker-Images. Die beliebteste öffentliche Registry ist Docker Hub, die eine umfangreiche Sammlung vorgefertigter Images für verschiedene Anwendungen und Dienste bietet.

Docker-Architektur

Docker verwendet eine Client-Server-Architektur, bei der der Docker-Client mit dem Docker-Daemon kommuniziert, der für das Erstellen, Ausführen und Verwalten von Docker-Containern zuständig ist.

Komponente Beschreibung
Docker-Client Die Benutzeroberfläche für das Docker-System. Sie ermöglicht Benutzern die Interaktion mit dem Docker-Daemon.
Docker-Daemon Der Hintergrundprozess, der die Docker-Container und -Images verwaltet.
Docker-Registry Ein Repository zum Speichern und Verteilen von Docker-Images.
Docker-Networking Ermöglicht die Kommunikation zwischen Containern und mit der Außenwelt.
Docker-Volumes Bietet eine Möglichkeit, Daten zu speichern, die von und für Docker-Container generiert und verwendet werden.

Docker auf macOS oder Windows installieren

Docker auf macOS installieren

  1. Besuchen Sie die Docker-Website und laden Sie Docker Desktop für Mac herunter.
  2. Führen Sie den Installer aus und folgen Sie den Anweisungen auf dem Bildschirm, um die Installation abzuschließen.
  3. Nach der Installation erscheint das Docker-Symbol in der Menüleiste, was anzeigt, dass Docker läuft.

Docker auf Windows installieren

  1. Besuchen Sie die Docker-Website und laden Sie Docker Desktop für Windows herunter.
  2. Führen Sie den Installer aus und folgen Sie den Anweisungen auf dem Bildschirm, um die Installation abzuschließen.
  3. Nach der Installation erscheint das Docker-Symbol in der Taskleiste, was anzeigt, dass Docker läuft.

Installation überprüfen

Nach der Installation von Docker können Sie die Installation überprüfen, indem Sie ein Terminal (macOS) oder PowerShell (Windows) öffnen und den folgenden Befehl ausführen:

docker version

Dies zeigt die Version des Docker-Clients und des Docker-Servers (Daemon) an, die auf Ihrem System installiert sind.

Docker Compose installieren

Docker Compose ist ein Werkzeug zum Definieren und Ausführen von Multi-Container-Docker-Anwendungen. Um Docker Compose zu installieren:

  1. Besuchen Sie das Docker Compose GitHub-Repository und laden Sie die neueste Version von Docker Compose für Ihr Betriebssystem herunter.
  2. Machen Sie die heruntergeladene Datei ausführbar, indem Sie den folgenden Befehl ausführen (für Linux/macOS):
    chmod +x docker-compose
  3. Verschieben Sie die Docker Compose-Binary in einen Verzeichnis in Ihrem Systempfad, z. B. /usr/local/bin/ oder ~/bin/.

Jetzt können Sie die Installation überprüfen, indem Sie Folgendes ausführen:

docker-compose version

Dies zeigt die installierte Version von Docker Compose auf Ihrem System an.

Docker-Entwicklungsumgebungen erstellen

Erstellen einer Dockerfile

Eine Dockerfile ist eine Textdatei, die alle Befehle enthält, die zum Erstellen eines Docker-Images benötigt werden. Hier ist ein Beispiel für eine Dockerfile für eine einfache Python-Webanwendung:

FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ["python", "app.py"]

Diese Dockerfile:

  1. Startet mit dem Basis-Image python:3.9-slim.
  2. Legt das Arbeitsverzeichnis auf /app fest.
  3. Kopiert die Datei requirements.txt in das Arbeitsverzeichnis.
  4. Installiert die Python-Abhängigkeiten, die in requirements.txt aufgeführt sind.
  5. Kopiert den Anwendungscode in das Arbeitsverzeichnis.
  6. Gibt den Befehl zum Ausführen der Anwendung (python app.py) an.

Erstellen eines Docker-Images

Um ein Docker-Image aus der Dockerfile zu erstellen, führen Sie den folgenden Befehl im selben Verzeichnis wie die Dockerfile aus:

docker build -t my-python-app .

Dies erstellt ein Docker-Image mit dem Tag my-python-app.

Ausführen eines Docker-Containers

Um einen Docker-Container aus dem Image my-python-app auszuführen, verwenden Sie den folgenden Befehl:

docker run -p 8080:8080 my-python-app

Dies startet einen neuen Container und ordnet den Port 8080 auf dem Host dem Port 8080 im Container zu.

Entwicklung mit Docker Compose

Docker Compose ist ein Werkzeug zum Definieren und Ausführen von Multi-Container-Docker-Anwendungen. Hier ist ein Beispiel für eine docker-compose.yml-Datei für eine einfache Webanwendung mit einer Datenbank:

version: "3"
services:
  web:
    build: .
    ports:
      - 8080:8080
    depends_on:
      - db
  db:
    image: postgres:13
    environment:
      POSTGRES_DB: myapp
      POSTGRES_USER: myapp
      POSTGRES_PASSWORD: secret
    volumes:
      - db-data:/var/lib/postgresql/data
volumes:
  db-data:

Diese docker-compose.yml-Datei definiert zwei Services: web und db. Der Service web erstellt ein Docker-Image aus dem aktuellen Verzeichnis und ordnet den Port 8080 auf dem Host dem Port 8080 im Container zu. Der Service db verwendet das offizielle PostgreSQL-Image und richtet eine Datenbank für die Anwendung ein.

Um die Anwendung zu starten, führen Sie aus:

docker-compose up -d

Dies startet die Container web und db im Hintergrund.

Zusammenfassung

Mit diesem Tutorial lernen Sie, wie Sie Docker auf Ihrem macOS- oder Windows-Computer installieren, die Grundlagen von Docker verstehen und eine auf Ihre Bedürfnisse zugeschnittene Docker-Entwicklungsumgebung erstellen. Mit diesen Fähigkeiten können Sie Ihren Entwicklungsablauf optimieren und die Vorteile von Docker nutzen, wie z. B. konsistente und reproduzierbare Umgebungen, einfache Bereitstellung und verbesserte Skalierbarkeit.