0Pricing
Docker & DevOps Fundamentals · Lektion

Benutzerdefinierte Docker-Images erstellen

Erstellen Sie Ihr erstes benutzerdefiniertes Docker-Image für eine einfache Anwendung und versehen Sie es korrekt mit Tags und Versionen.

Benutzerdefinierte Docker-Images erstellen ist eine kostenlose Docker & DevOps Fundamentals-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Docker & DevOps Fundamentals-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Docker & DevOps Fundamentals-Kurs umfasst insgesamt 4 Lektionen.

Erstellen Sie Ihr erstes Docker-Image

Warum sollten Sie eigene Images erstellen? Sie können damit Ihre spezifische Anwendung, ihre Abhängigkeiten und ihre Konfiguration in einer einzigen portablen Einheit paketieren. Das ist entscheidend für Konsistenz und eine einfache Bereitstellung.

Wie dieses Image erstellt wird, definieren Sie mit einer Datei namens Dockerfile.

Benutzerdefinierte Docker-Images erstellen — Illustration 1

Unsere einfache Web-App

Wir containerisieren eine sehr einfache Python-Flask-Web-App. Sie gibt beim Aufrufen ihrer Webadresse lediglich „Hello from Docker!“ zurück.

Stellen Sie sich vor, dass sich folgende Dateien in einem Verzeichnis befinden:

  • app.py: Der Python-Anwendungscode
  • requirements.txt: Listet die Python-Abhängigkeiten auf
  • Dockerfile: Anweisungen zum Erstellen des Images

Der Code der Flask-Anwendung

Dies ist unsere einfache Python-Flask-Anwendung. Sie überwacht Port 5000 und antwortet mit „Hello from Docker!“.

Sie können sie lokal ausführen (nach der Installation von Flask), um sie in Aktion zu sehen!

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello from Docker!'

if __name__ == '__main__':
    app.run(debug=True, host='0.0.0.0')

Abhängigkeiten angeben

Unsere Anwendung benötigt die Flask-Bibliothek. Wir führen sie in requirements.txt auf. Diese Datei teilt Docker (und dem Paketmanager von Python, pip) mit, was installiert werden soll.

Dadurch wird sichergestellt, dass unser Image alle für die Ausführung der Anwendung erforderlichen Bibliotheken enthält.

Flask==2.3.2

Aufbau unseres Dockerfiles

Ein Dockerfile ist eine Textdatei mit Anweisungen zum Erstellen eines Images. Jede Anweisung erstellt eine Ebene. Wir verwenden folgende Anweisungen:

  • FROM: Gibt das Basis-Image an (z. B. Python).
  • WORKDIR: Legt das Arbeitsverzeichnis innerhalb des Containers fest.
  • COPY: Kopiert Dateien vom lokalen Computer in das Image.
  • RUN: Führt Befehle aus (z. B. zum Installieren von Abhängigkeiten).
  • EXPOSE: Informiert Docker über die Ports, die der Container überwacht.
  • CMD: Legt den Standardbefehl fest, der beim Start des Containers ausgeführt wird.

Das Dockerfile erstellen

Hier sehen Sie das vollständige Dockerfile für unsere Flask-Anwendung. Legen Sie diese Datei im selben Verzeichnis wie app.py und requirements.txt ab.

# Use an official Python runtime as a parent image
FROM python:3.9-slim-buster

# Set the working directory in the container
WORKDIR /app

# Copy the current directory contents into the container at /app
COPY requirements.txt .
COPY app.py .

# Install any needed packages specified in requirements.txt
RUN pip install --no-cache-dir -r requirements.txt

# Make port 5000 available to the world outside this container
EXPOSE 5000

# Run app.py when the container launches
CMD ["python", "app.py"]

Der Befehl `docker build`

Jetzt erstellen wir unser Image! Öffnen Sie Ihr Terminal in dem Verzeichnis, in dem sich Ihr Dockerfile und die Anwendungsdateien befinden.

Das Flag -t versieht unser Image mit einem Namen (my-flask-app) und einer Version (1.0). Der Punkt . weist Docker an, das aktuelle Verzeichnis als Build-Kontext zu verwenden.

docker build -t my-flask-app:1.0 .

Das neue Image überprüfen

Nach Abschluss des Builds können Sie überprüfen, ob Ihr neues Image vorhanden ist, indem Sie alle lokalen Docker-Images auflisten.

Suchen Sie in der Ausgabe nach my-flask-app mit dem Tag 1.0.

docker images

Den Anwendungskontainer starten

Jetzt können Sie Ihre Anwendung in Aktion sehen! Verwenden Sie docker run, um aus Ihrem Image einen Container zu erstellen und zu starten.

-p 5000:5000 ordnet Port 5000 auf Ihrem Hostcomputer Port 5000 innerhalb des Containers zu. -d führt den Container im Detached-Modus (im Hintergrund) aus.

docker run -d -p 5000:5000 my-flask-app:1.0

Rufen Sie http://localhost:5000 in Ihrem Browser auf, um „Hello from Docker!“ zu sehen.

Bewährte Verfahren für Image-Tags

Tags sind entscheidend für die Verwaltung verschiedener Versionen Ihrer Images. Üblicherweise verwendet man semantische Versionierung (z. B. 1.0.0, 2.1.5>) und zusätzlich ein latest-Tag.

Mit docker tag können Sie einem Image mehrere Tags zuweisen:

docker tag my-flask-app:1.0 my-flask-app:latest

So können Sie auf dasselbe Image unter verschiedenen Namen verweisen, was es für Deployments flexibel einsetzbar macht.

Schnelltest

Betrachten Sie das folgende Dockerfile und den Build-Befehl:

# Dockerfile content
FROM alpine:latest
WORKDIR /app
COPY . .
CMD ["echo", "Hello"]

docker build -t my-app:v1 .

Welche der folgenden Aussagen über den Befehl docker build -t my-app:v1 . ist RICHTIG?

Zusammenfassung: Benutzerdefinierte Images

Sehr gut! Sie haben gelernt, wie Sie:

  • eine einfache Anwendung für die Containerisierung vorbereiten;
  • ein grundlegendes Dockerfile mit wichtigen Anweisungen (FROM, WORKDIR, COPY, RUN, EXPOSE, CMD) schreiben;
  • mit docker build -t ein benutzerdefiniertes Docker-Image erstellen;
  • Ihr Image mit docker images überprüfen;
  • mit docker run -p einen Container aus Ihrem benutzerdefinierten Image starten;
  • die Bedeutung von Image-Tags und Versionierung verstehen.

Als Nächstes sehen wir uns genauer an, wie Docker-Images mit Ebenen strukturiert sind und mit welchen Techniken sich ihre Größe und Build-Zeiten optimieren lassen!

Häufig gestellte Fragen

Ist die Lektion „Benutzerdefinierte Docker-Images erstellen“ kostenlos?

Ja — der vollständige Text von „Benutzerdefinierte Docker-Images erstellen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Docker & DevOps Fundamentals-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Docker & DevOps Fundamentals-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Benutzerdefinierte Docker-Images erstellen“?

Erstellen Sie Ihr erstes benutzerdefiniertes Docker-Image für eine einfache Anwendung und versehen Sie es korrekt mit Tags und Versionen. Du übst Docker & DevOps Fundamentals mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Docker & DevOps Fundamentals zu starten?

Keine Vorkenntnisse erforderlich. Docker & DevOps Fundamentals auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Benutzerdefinierte Docker-Images erstellen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Docker & DevOps Fundamentals-Lektion Code schreiben und ausführen?

Ja. Jede Docker & DevOps Fundamentals-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Dockerfiles verstehen
  2. Benutzerdefinierte Docker-Images erstellen
  3. Image-Ebenen und Optimierung
  4. Multi-Stage-Builds und kleinere Images
← Zurück zu Docker & DevOps Fundamentals