Einleitung Bisher wurden unsere Docker-Images in der Container Registry von Azure gespeichert. Vor Kurzem haben wir unsere eigene Docker-Registry erstellt. Wir möchten die zuvor in der Container Registry von Azure gespeicherten Docker-Images mit unserer eigenen Docker-Registry synchronisieren. Umsetzungsideen Unsere Methode ist relativ einfach und unkompliziert, kann die Anforderungen aber grundsätzlich erfüllen. Unser Ansatz ist
Später fiel mir plötzlich ein, dass Alibaba Cloud anscheinend ein Tool zur Bildsynchronisierung hat: https://github.com/AliyunContainerService/image-syncer Docker-Registry API Das Docker-Register verfügt über eine Reihe von Spezifikationen. Weitere Informationen finden Sie unter https://docs.docker.com/registry/spec/api/. Alle Bilder abrufen Docker Registry v2 fügt eine neue Die Syntax lautet wie folgt:
Standardmäßig werden maximal 100 Datensätze zurückgegeben. Wenn die Anzahl der Datensätze größer als 100 ist, können Sie die Anzahl der zurückzugebenden Datensätze mit dem Parameter Holen Sie sich das Bild-Tag Um die Tag-Liste des Docker-Images abzurufen, können Sie Betriebsbeispiel Zur Demonstration wird lokal ein Test-Docker-Register bereitgestellt. Ich verwende httpie zum Testen. Holen Sie sich die Spiegelliste: Rufen Sie die Schnittstelle
Holen Sie sich die Tag-Liste des Bildes Rufen Sie
PowerShell-Skript Jeder nicht automatisierte Betrieb und jede Wartung ist ein Hooligan. Es ist sehr wahrscheinlich, dass es in Zukunft ähnliche Anforderungen geben wird. Es ist besser, ein Skript zu schreiben, um es automatisch auszuführen. Das folgende Skript ist etwas vereinfacht, da sich in unserem Azure-Containerregister nicht viele Bilder befinden, nur etwa 50 oder 60 Bilder, und das Bild nur das neueste Tag und keine anderen Tags hat. Daher sind die obigen Schritte vereinfacht und es werden nicht alle Bilder durch Paging abgerufen, noch werden alle Tags abgerufen. Wenn Sie es tatsächlich verwenden, ändern Sie es bitte selbst, bevor Sie es verwenden # Variablen $srcRegUser = "xxx" $srcRegPwd = "111111" $srcRegHost = "xxx.azurecr.cn" $destRegUser = "yyy" $destRegPwd = "222" $destRegHost = "registry.xxx.com" # Repositories aus der Quellregistrierung abrufen # httpie $response = (http -b -a "${srcRegUser}:${srcRegPwd}" "https://${srcRegHost}/v2/_catalog") | ConvertFrom-Json # Locke #$response = (curl -u "${srcRegUser}:${srcRegPwd}" "https://${srcRegHost}/v2/_catalog") | ConvertFrom-Json # Repository $repositories = $response.repositories # Schreib-Host $repositories # Login-Quellregistrierung Docker-Anmeldung $srcRegHost -u $srcRegUser -p $srcRegPwd # Login Zielregistrierung Docker-Anmeldung $destRegHost -u $destRegUser -p $destRegPwd # synchronisieren foreach($repo in $repositories) { Write-Host "sync $repo begin" $srcTag = "${srcRegHost}/${repo}:latest" $destTag = "${destRegHost}/${repo}:latest" Write-Host "Quellbild-Tag: $srcTag" Write-Host "Ziel-Image-Tag $destTag" Write-Host "docker pull $srcTag begin" docker pull $srcTag Write-Host „Docker Pull $srcTag abgeschlossen“ Write-Host "Docker-Tag $srcTag $destTag ing" Docker-Tag $srcTag $destTag Write-Host "docker push $destTag begin" docker push $destTag Write-Host "Docker Push $destTag abgeschlossen" Write-Host "docker rmi $srcTag $destTag begin" docker rmi $srcTag $destTag Write-Host "docker rmi $srcTag $destTag end" Write-Host „Synchronisierung von $repo abgeschlossen“ } Write-Host „Abgeschlossen …“ Mehr Wenn Sie viele Bilder synchronisieren müssen, können Sie zum Synchronisieren das Bildsynchronisierungstool von Alibaba Cloud verwenden. Referenz https://stackoverflow.com/questions/31251356/how-to-get-a-list-of-images-on-docker-registry-v2 https://github.com/AliyunContainerService/image-syncer https://docs.docker.com/registry/spec/api/ Zusammenfassen Dies ist das Ende dieses Artikels über die Synchronisierung von Docker-Registrierungsabbildern. Weitere verwandte Inhalte zu Docker-Registrierungsabbildern finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Verstehen Sie kurz die MySQL-Datenbankoptimierungsphase
>>: Eine vollständige Anleitung zu CSS-Stilattributen css() und width() in jQuery
Der vollständige Name von Blog sollte Weblog sein...
Inhaltsverzeichnis 1. Analyse der MySQL-Architekt...
Sublimieren Sublime Text ist ein Code-Editor (Sub...
Vorwort Im Linux-Betriebssystem sind Gerätedateie...
Problembeschreibung Nach der Installation von Wor...
Inhaltsverzeichnis 1. Komponentenregistrierung 1....
1. Schnittstelle für die Anforderung einer Antwor...
Szenario: Mit zunehmender Datenmenge ist die Fest...
1. Einleitung Beim Filtern unbekannter oder teilw...
Beim Produktdesign legen Designer Wert darauf, das...
Inhaltsverzeichnis Vorwort JavaScript find()-Meth...
Zeichensatzfehler treten immer auf Gebietsschema:...
Implementieren eines responsiven Layouts mit CSS ...
In diesem Artikel wird der spezifische Code von J...
Inhaltsverzeichnis 1. Panorama II. Hintergrund 1....