Loading...

Wie man docker push verwendet

Jonas Scholz - Co-Founder von sliplane.ioJonas Scholz
4 min

Wenn du ein Docker-Image erstellt hast und es mit anderen teilen oder in verschiedenen Umgebungen nutzen möchtest, musst du es in eine Docker-Registry hochladen. Lass uns durchgehen, wie das mit dem docker push-Befehl funktioniert.

Zunächst einmal ist der docker push-Befehl im Grunde eine Kurzform für docker image push. Er wird verwendet, um dein Docker-Image in eine Registry hochzuladen, sei es Docker Hub oder eine selbst gehostete Registry. So funktioniert's:

Grundlegende Verwendung

Um ein Image hochzuladen, verwendest du einen Befehl, der so aussieht:

docker push NAME[:TAG]

Wenn du zum Beispiel ein Image namens myimage mit dem Tag latest hast, würdest du es so hochladen:

docker push myimage:latest

Wenn du keinen Tag angibst, versucht Docker standardmäßig, das Image mit dem Tag latest zu pushen.

Tagging vor dem Pushen

Bevor du ein Image pushen kannst, musst du es mit der Adresse der Registry taggen. Angenommen, du möchtest ein Image zu Docker Hub pushen und dein Benutzername dort ist myusername. Du würdest dein Image so taggen:

docker tag myimage:latest myusername/myimage:latest

Dann kannst du es hochladen:

docker push myusername/myimage:latest

Wenn du zu einer privaten Registry pushen möchtest, beispielsweise auf einem Server namens registry-host auf Port 5000, würdest du es so taggen und pushen:

docker tag myimage:latest registry-host:5000/myimage:latest
docker push registry-host:5000/myimage:latest

Anmeldedaten verwalten

Um zu einer Registry zu pushen, die eine Authentifizierung erfordert, wie Docker Hub, musst du dich zuerst anmelden:

docker login

Dieser Befehl fordert dich zur Eingabe deines Benutzernamens und Passworts auf. Nach der Anmeldung verwendet Docker diese Anmeldedaten für deine Push-Operationen.

Alle Tags pushen

Wenn du alle Tags eines Images auf einmal pushen möchtest, kannst du die Option --all-tags oder -a verwenden. Angenommen, du hast ein Image myimage mit mehreren Tags (v1, v2, latest). Du kannst all diese Tags so pushen:

docker push --all-tags myusername/myimage

Content Trust deaktivieren

Standardmäßig verwendet Docker Content Trust, um Images zu signieren. Wenn du dies überspringen und unsignierte Images pushen möchtest, kannst du Folgendes verwenden:

docker push --disable-content-trust myusername/myimage:latest

Plattformspezifische Images pushen

Wenn du mit Images arbeitest, die für bestimmte Plattformen spezifisch sind, kannst du dies beim Pushen angeben. Um beispielsweise ein Image für Linux auf AMD64-Architektur zu pushen:

docker push --platform linux/amd64 myusername/myimage:latest

Quiet-Modus

Wenn du während des Pushens keine Fortschrittsbalken und andere ausführliche Ausgaben sehen möchtest, kannst du den Quiet-Modus verwenden:

docker push -q myusername/myimage:latest

Was zu erwarten ist

Wenn du einen Push startest, zeigt Docker dir Fortschrittsbalken an, die die Größe der hochgeladenen Daten angeben. Denk daran, dass diese Balken die unkomprimierte Größe anzeigen und die tatsächlich gesendeten Daten kleiner sein werden, da sie komprimiert sind.

Wenn du den Push stoppen musst, kannst du CTRL-c drücken. Dadurch wird der Prozess beendet, aber du musst den Push von vorne beginnen, wenn du ihn abschließen möchtest.

Gleichzeitige Uploads

Docker pusht Images in Schichten und versucht standardmäßig, fünf Schichten gleichzeitig hochzuladen. Bei einer langsamen Verbindung kann das Probleme verursachen. Du kannst diese Einstellung in der Docker-Daemon-Konfiguration mit der Option --max-concurrent-uploads anpassen.

Den Push überprüfen

Nachdem du ein Image gepusht hast, kannst du überprüfen, ob es in der Registry verfügbar ist. Für Docker Hub kannst du die Website besuchen. Bei einer privaten Registry musst du möglicherweise einen Befehl wie docker images verwenden, um zu sehen, ob das Image mit der Adresse der Registry aufgelistet ist.

Das war's! Wenn du diese Schritte befolgst, solltest du in der Lage sein, deine Docker-Images in jede gewünschte Registry zu pushen.

Willkommen in der Container-Cloud

Sliplane macht es einfach, Container in der Cloud zu deployen und bei Bedarf zu skalieren. Probier es jetzt aus!