Docker-Images mit Jenkins erstellen
Konfigurieren Sie Jenkins-Jobs so, dass sie bei Codeänderungen automatisch Docker-Images erstellen und in eine Registry übertragen.
Docker-Images mit Jenkins 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.
Docker-Builds automatisieren
Das manuelle Erstellen von Docker-Images kann langsam, uneinheitlich und fehleranfällig sein. Dies gilt insbesondere in einer Teamumgebung oder bei häufigen Codeänderungen.
Automatisierung ist der Schlüssel zu einer zuverlässigen und effizienten Softwarebereitstellung. In dieser Lektion lernen Sie, Jenkins mit Docker zu integrieren, um die Erstellung und das Pushen von Images zu automatisieren.

Voraussetzungen für Jenkins und Docker
Damit Jenkins Docker-Images erstellen kann, muss Jenkins mit einem Docker-Daemon interagieren können. Daher muss der Docker-Client auf dem Rechner oder Agent installiert sein, auf dem Ihr Jenkins-Job ausgeführt wird.
Außerdem benötigen Sie:
- Einen laufenden Jenkins-Server (aus Lektion 1)
- Zugriff auf eine Docker-Registry (z. B. Docker Hub)
- Eine Beispielanwendung und deren Dockerfile
Docker auf dem Jenkins-Host installieren
Damit Jenkins Docker-Befehle ausführen kann, stellen Sie sicher, dass Docker auf dem Jenkins-Server oder -Agent installiert und konfiguriert ist. Der Jenkins-Benutzer benötigt häufig Berechtigungen für die Interaktion mit dem Docker-Daemon.
So können Sie Docker auf einem Linux-System einrichten:
sudo apt-get update
sudo apt-get install -y docker.io
sudo usermod -aG docker jenkins
sudo systemctl restart docker
sudo systemctl restart jenkinsRegistry-Anmeldedaten absichern
Um Images in eine Docker-Registry zu übertragen, benötigt Jenkins Anmeldedaten. Es ist wichtig, diese sicher zu speichern und nicht direkt in Ihrer Jenkinsfile oder Job-Konfiguration abzulegen.
Die integrierte Jenkins-Funktion Credentials eignet sich dafür hervorragend:
- Gehen Sie zu Manage Jenkins > Manage Credentials.
- Fügen Sie für Ihre Docker-Registry einen neuen Anmeldedatensatz vom Typ Username with password hinzu.
- Vergeben Sie eine aussagekräftige ID (z. B.
dockerhub-credentials), auf die Sie später verweisen können.
Beispiel einer Flask-Anwendung
Verwenden wir eine sehr einfache Python-Flask-Anwendung. Wir speichern sie in einer Datei namens app.py. Sie gibt eine einfache „Hello“-Nachricht aus.
Außerdem benötigen wir eine Datei requirements.txt, in der wir unsere Python-Abhängigkeiten angeben.
# app.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello from CoddyKit!'
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=5000)
# requirements.txt
Flask==2.0.2Die Dockerfile erstellen
Als Nächstes definieren wir unser Docker-Image mithilfe einer Dockerfile. Diese Datei weist Docker an, wie das Image unserer Anwendung erstellt werden soll.
Legen Sie diese Dockerfile im selben Verzeichnis wie app.py und requirements.txt ab.
# Dockerfile
FROM python:3.9-slim-buster
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY app.py .
EXPOSE 5000
CMD ["python", "app.py"]Jenkins-Job: Build-Schritt
Konfigurieren wir nun einen Jenkins-Freestyle-Job. Fügen Sie im Abschnitt Build Steps einen Schritt Execute shell hinzu. Dieser Befehl erstellt Ihr Docker-Image.
Denken Sie daran, yourusername durch Ihren Docker-Hub-Benutzernamen oder Registry-Pfad zu ersetzen.
# In Jenkins 'Execute shell' build step:
docker build -t yourusername/coddykit-app:latest .Jenkins-Job: Anmelden und Push-Schritt
Nach dem Erstellen des Images müssen wir es in unsere Docker-Registry übertragen. Dazu ist normalerweise eine Anmeldung erforderlich. Wir verwenden die zuvor gespeicherten Anmeldedaten.
Fügen Sie einen weiteren Schritt Execute shell hinzu. Jenkins stellt die Anmeldedaten als Umgebungsvariablen (z. B. DOCKER_USER, DOCKER_PASS) bereit, sofern dies korrekt konfiguriert ist.
# In Jenkins 'Execute shell' build step:
echo $DOCKER_PASS | docker login -u $DOCKER_USER --password-stdin
docker push yourusername/coddykit-app:latestBuild-Trigger automatisieren
Die Stärke von CI/CD liegt in der Automatisierung. Jenkins kann diese Build- und Push-Jobs automatisch auf Grundlage verschiedener Ereignisse auslösen:
- SCM Polling: Jenkins überprüft regelmäßig Ihr Git-Repository auf neue Commits.
- Webhooks: Ihr Git-Anbieter (GitHub, GitLab, Bitbucket) sendet Jenkins bei jedem Push eine Benachrichtigung.
- Upstream Projects: Der Job wird ausgelöst, sobald ein anderer Jenkins-Job erfolgreich abgeschlossen wurde.
Den Jenkins-Job testen
Speichern Sie Ihren Jenkins-Job, nachdem Sie die Build-Schritte und Trigger konfiguriert haben. Sie können manuell einen Build auslösen, um ihn zu testen. Überprüfen Sie die Konsolenausgabe auf ein erfolgreiches Erstellen und Übertragen des Docker-Images.
Ein erfolgreicher Durchlauf bedeutet, dass Ihre CI-Pipeline nun bei jeder Codeänderung automatisch neue Docker-Images erstellen und speichern kann.
Schnelltest
Sie haben einen Jenkins-Job eingerichtet, der ein Docker-Image erstellt und überträgt. Ihr Git-Repository enthält neue Codeänderungen.
Zusammenfassung: Erstellen und Übertragen
Gute Arbeit! In dieser Lektion haben Sie gelernt:
- Ihre Jenkins-Umgebung für die Interaktion mit Docker vorzubereiten.
- Docker-Registry-Anmeldedaten in Jenkins sicher zu verwalten.
- Einen Jenkins-Job zu konfigurieren, der mithilfe einer Dockerfile ein Docker-Image erstellt.
- Das neu erstellte Image in eine Docker-Registry zu übertragen.
- Verschiedene Möglichkeiten zum Auslösen automatisierter Builds zu verstehen.
Die Automatisierung dieser Schritte ist ein zentraler Bestandteil der kontinuierlichen Integration und bildet die Grundlage für Continuous Delivery.
Häufig gestellte Fragen
Ist die Lektion „Docker-Images mit Jenkins erstellen“ kostenlos?
Ja — der vollständige Text von „Docker-Images mit Jenkins 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 „Docker-Images mit Jenkins erstellen“?
Konfigurieren Sie Jenkins-Jobs so, dass sie bei Codeänderungen automatisch Docker-Images erstellen und in eine Registry übertragen. 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 „Docker-Images mit Jenkins 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
- Einführung in Jenkins
- Docker-Images mit Jenkins erstellen
- Automatisierte Bereitstellung mit Jenkins
- Jenkins Pipeline as Code mit Jenkinsfile