9.1 Veröffentlichung von Images: Der Befehl docker push
Du weißt ja schon, dass Docker Hub eine Cloud-Plattform für die Speicherung, den Austausch und die Verwaltung von Docker-Images ist. Dort können Entwickler ihre Images einfach mit Kolleg:innen teilen oder sie einem breiten Publikum zugänglich machen. Die Arbeit mit Docker Hub erinnert an die Arbeit mit Git. Die Hauptbefehle sind docker push und docker pull. In dieser Vorlesung schauen wir uns an, wie man diese Befehle zur Veröffentlichung und zum Herunterladen von Docker-Images verwendet.
Der Befehl docker push
wird verwendet, um lokale Docker-Images in den Docker Hub hochzuladen. Bevor du ein Image veröffentlichst, vergewissere dich, dass es mit einem Tag versehen ist, der deinen Benutzernamen auf Docker Hub enthält.
Schritte zur Veröffentlichung eines Images
Schritt 1. Docker-Image bauen:
Falls du noch kein Image erstellt hast, erstelle es mit dem Befehl docker build
.
docker build -t myapp:latest .
Schritt 2. Tagging des Images:
Um ein Image im Docker Hub zu veröffentlichen, muss es mit einem Tag versehen werden, der deinen Docker Hub Benutzernamen enthält.
docker tag myapp:latest yourusername/myapp:latest
Schritt 3. Veröffentlichung des Images:
Nutze den Befehl docker push, um das Image in den Docker Hub hochzuladen.
docker push yourusername/myapp:latest
Beispiel:
docker build -t myapp:1.0 .
docker tag myapp:1.0 yourusername/myapp:1.0
docker push yourusername/myapp:1.0
9.2 Images herunterladen: der Befehl docker pull
Der Befehl docker pull
wird verwendet, um Images aus Docker Hub auf deine lokale Maschine herunterzuladen. Das ermöglicht dir Zugriff auf Images, die von anderen Nutzern oder deinem Team veröffentlicht wurden.
Schritte zum Herunterladen eines Images
Schritt 1. Suche nach dem Image:
Nutze den Befehl docker search
, um das benötigte Image auf Docker Hub zu finden.
docker search nginx
Schritt 2. Herunterladen des Images:
Nutze den Befehl docker pull
, um das Image auf deine lokale Maschine herunterzuladen.
docker pull yourusername/myapp:latest
Beispiel:
docker pull nginx:latest
9.3 Komplette Beispiel
Ein komplettes Beispiel für den Workflow zum Veröffentlichen und Herunterladen von Images:
Schritt 1: Image bauen
Erstelle eine Dockerfile für deine Anwendung. Zum Beispiel für eine Node.js-Anwendung:
# Wir verwenden das Node.js-Basisimage
FROM node:14
# Arbeitsverzeichnis setzen
WORKDIR /app
# package.json kopieren und Abhängigkeiten installieren
COPY package*.json ./
RUN npm install
# Restlichen Anwendungscode kopieren
COPY . .
# Port öffnen
EXPOSE 3000
# Anwendung starten
CMD ["node", "app.js"]
Baue das Image mit dem Befehl docker build
.
docker build -t mynodeapp:latest .
Schritt 2: Image taggen
Tagge dein Image mit deinem Benutzernamen bei Docker Hub.
docker tag mynodeapp:latest yourusername/mynodeapp:latest
Schritt 3: Image veröffentlichen
Sende das Image zum Docker Hub.
docker push yourusername/mynodeapp:latest
Schritt 4: Image herunterladen
Jetzt kann ein anderer Benutzer oder dein Kollege dieses Image auf seinen lokalen Rechner herunterladen.
docker pull yourusername/mynodeapp:latest
Schritt 5: Container aus dem heruntergeladenen Image starten
Nach dem Herunterladen des Images kannst du einen Container basierend darauf starten.
docker run -d -p 3000:3000 yourusername/mynodeapp:latest
GO TO FULL VERSION