In diesem zweiten Teil der Artikel-Serie für Anfänger wird gezeigt, wie man ein selbstgebautes Docker-Image in einer Docker Registry veröffentlicht.
Veröffentlichen auf Docker Registry
Docker Hub
Um ein Docker-Image in eine öffentliche Registrierung wie DockerHub zu verschieben, benötigt man dort einen Account.
docker login
Hinweis: Die Authentifizierungsdaten werden in der Konfigurationsdatei .dockercfg
im Home-Verzeichnis abgelegt.
Docker Image Tag
Gib docker images
ein, um die Images aufzulisten, die du aktuell hast:
me@mydebianbox:~/docker# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
jessie-minbase latest bca6396f92bf 2 hours ago 157.6 MB
me@mydebianbox:~/docker#
Finde die IMAGE ID
für dein jessie-minbase
Image heraus.
In diesem Beispiel lautet die ID bca6396f92bf
.
Eine weitere Information, die du benötigst, ist dein Benutzername für Docker Hub. Meiner lautet z.B. bundeskanzler4711
.
Außerdem brauchst du noch eine Version.
In diesem Beispiel werde ich mein Image zweimal taggen:
- einmal mit der Debian-Versionsnummer (8.3) und
- zweitens als
latest
Version.
Gegebenenfalls solltest du die Versionsnummer auf deine (neuere) anpassen. Aber Namen sind ja eh nur Schall und Rauch 😉
docker tag bca6396f92bf bundeskanzler4711/jessie-minbase:8.3 docker tag bca6396f92bf bundeskanzler4711/jessie-minbase:latest
Danach wird dieselbe IMAGE ID
dreimal in der Imageliste angezeigt:
me@mydebianbox:~/docker# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE bundeskanzler4711/jessie-minbase 8.3 bca6396f92bf 2 hours ago 157.6 MB bundeskanzler4711/jessie-minbase latest bca6396f92bf 2 hours ago 157.6 MB jessie-minbase latest bca6396f92bf 2 hours ago 157.6 MB me@mydebianbox:~/docker#
Push Docker Image auf Docker Hub
Hinweis: Ab diesem Zeitpunkt musst du bei der Docker Registry angemeldet sein.
In meinem Fall lade ich meine Images in ein öffentliches DockerHub-Repository hoch. Das heißt, die Images können ohne Anmeldung frei abgerufen werden.
me@mydebianbox:~/docker# docker push bundeskanzler4711/jessie-minbase The push refers to a repository [bundeskanzler4711/jessie-minbase] (len: 2) bca6396f92bf: Image already exists bca6396f92bf: Image already exists Digest: sha256:6f8757ad19ad16fa5140520e098aeccd15f2721dc6965e339e2ee33accd97513 me@mydebianbox:~/docker#
Das gepushte Image ist winzig, in meinem Fall ungefähr 59 MB.
Du kannst dir alle Tags anzeigen lassen, die sich auf mein Image beziehen. Meine findest du unter https://hub.docker.com/r/bundeskanzler4711/jessie-minbase/tags/.
Zack, fertig 🙂
Im nächsten Teil sehen wir uns an, wie wir unser eigenes Image als Basis-Image nutzen und es dabei immer auf dem aktuellen Stand halten können.