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 imagesREPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZEjessie-minbase latest bca6396f92bf 2 hours ago 157.6 MBme@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
latestVersion.
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.
