Am 1. September 2020 hat GitHub GitHub Container Registry als öffentliche Beta angekündigt und am selben Tag damit begonnen. wurde. Es ist eines der öffentlichen Register (in denen Sie Ihre Docker-Bilder ablegen) wie Docker Hub, und es ist ein Dienst, den jeder mit einem GitHub-Konto nutzen kann.
Dies fasst die Schritte zusammen, um ein Docker-Image auf ghcr.io zu pushen und das Image für jedermann zum Herunterladen verfügbar zu machen.
--GitHubs (derzeit) kostenlose Docker-Image-Registrierung mit unbegrenzter Kapazität (ghcr.io
ist getrennt von der vorherigendocker.pkg.github.com
)
--Docker-Bilder können von jedem heruntergeladen werden (anonyme Pulls), und Sie können zwischen öffentlich und privat wählen.
docker login
, um sich bei ghcr.io
anzumelden. Verwenden Sie das persönliche Token von GitHub, um sich beim Anmelden zu authentifizierenAus dem oben Gesagten macht GitHub Container Registry Docker-Images an Dritte, ohne von [der neuen Image-Speicherrichtlinie von Docker Hub] eingeschränkt oder beeinflusst zu werden (https://qiita.com/zembutsu/items/e92a2e2f46b147e5a206). Es kann gesagt werden, dass es ein Ort ist, der (im Moment) veröffentlicht werden kann.
Um das Bild an GitHub Container Registry (GHCR) zu senden, müssen Sie sich vorab mit dem Befehl docker login
bei GHCR anmelden. Um sich anzumelden, müssen Sie auf Ihrer Einstellungsseite auf GitHub ein persönliches Zugriffstoken erstellen (Verfahrensdokumentation (https://docs.github.com/de/github/authenticating-to-). github / Erstellen eines persönlichen Zugriffstokens)).
Hier wird angenommen, dass die Zeichenfolge des Personal Access Token in ~ / ghcr.txt
aufgezeichnet ist.
Greifen Sie dann mit dem Befehl "Docker Login" auf "GHCR" zu. Unter "
cat ~/ghcr.txt | docker login ghcr.io -u <Github Benutzername> --password-stdin
Wenn die Authentifizierung erfolgreich ist, wird eine Meldung ähnlich der folgenden angezeigt:
WARNING! Your password will be stored unencrypted in /home/name/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
Um ein Bild zu senden, müssen Sie das Bild markieren, bevor Sie es senden. Für Docker Hub hatte es das Format "
Zum Beispiel
--Bild mit Bild-ID bf9f52b2d3fa
Wenn es das gibt
spätestens
Wenn Sie so etwas möchten, müssen Sie das von Ihnen gesendete Bild mit "ghcr.io/zembutsu/docker-sample-nginx/sample-nginx: latest" versehen. Verwenden Sie dazu den Befehl docker tag
und führen Sie Folgendes aus:
docker tag bf9f52b2d3fa ghcr.io/zembutsu/docker-sample-nginx/sample-nginx:latest
Nachdem Sie die Tag-Hinzufügung mit "Docker-Bildern" bestätigt haben, senden Sie sie einfach mit dem Befehl "Docker-Push".
$ docker push ghcr.io/zembutsu/docker-sample-nginx/sample-nginx:latest
The push refers to repository [ghcr.io/zembutsu/docker-sample-nginx/sample-nginx]
a49a33440fe7: Pushed
c63ea97607b8: Pushed
6ad8d562c843: Layer already exists
425ee8569962: Layer already exists
5d9ee84be1ec: Layer already exists
6bcd003260b2: Layer already exists
50644c29ef5a: Layer already exists
latest: digest: sha256:d6f2938d0fab3daeb6433c361da460970eb9b8d2796f1679afe6e41bb87b1937 size: 1774
Zu diesem Zeitpunkt wird automatisch ein privates Repository mit dem Namen "docker-sample-nginx" erstellt, das jeder, der den Bildpfad (Bildname / Tag) kennt, herunterladen kann.
Um das hochgeladene Bild anzuzeigen, klicken Sie in Ihrem GitHub-Profil auf die Registerkarte "Pakete". In den Paketinformationen werden die Docker-Bildinformationen mit der Bezeichnung "Privat" angezeigt.
Sie können auf den hier angezeigten Paketnamen klicken, um die URL zum Abrufen des Bildes zu überprüfen, das Bild zu veröffentlichen oder das Bild zu löschen. Klicken Sie auf "Paket bearbeiten", um diese Zustände zu ändern.
Sie können alle Tags mit "Alle Versionen anzeigen" anzeigen und jedes Tag löschen.
Außerdem bietet Ihnen "Paketeinstellungen" die Möglichkeit, dieses Paket öffentlich zu machen oder zu löschen.
Wenn Sie hier "Veröffentlichen" auswählen, werden die Paketinformationen zum Zielbild auch in Ihrem Profil angezeigt.
Enjoy!
Recommended Posts