docker service update: "Auf das Image konnte in einer Registry nicht zugegriffen werden, um den Digest aufzuzeichnen"

9

Ich habe ein Bild in Amazon Elastic Container Registry (ECR), das ich als Docker-Dienst in meinem Docker-Einzelknoten-Schwarm bereitstellen möchte. Momentan läuft auf dem Dienst eine ältere Version des latest -Tags des Bildes, aber ich habe seitdem eine neuere Version des latest -Tags auf ECR ​​hochgeladen.

Das Ausführen von docker service update --force my_service auf meinem Schwarmknoten, der image XXXXXXXXXXXX.dkr.ecr.us-east-1.amazonaws.com/my_service:latest verwendet, führt zu:

  

image XXXXXXXXXXXX.dkr.ecr.us-east-1.amazonaws.com/my_service:latest konnte nicht auf eine Registrierung zugegriffen werden, um seinen Digest aufzuzeichnen. Jeder Knoten greift unabhängig auf XXXXXXXXXXXXX.dkr.ecr.us-east-1.amazonaws.com/my_service:latest zu,   möglicherweise zu verschiedenen Knoten führt unterschiedliche Versionen des Bildes.

Dies scheint zu verhindern, dass der Knoten eine neue Kopie des latest -Tags aus der Registrierung zieht und der Dienst ordnungsgemäß aktualisiert wird.

Ich bin ordnungsgemäß mit docker login an ECR angemeldet, und die Ausführung von docker pull XXXXXXXXXXXX.dkr.ecr.us-east-1.amazonaws.com/my_service:latest funktioniert einwandfrei (und gibt einen Digest zurück).

Warum kann docker service update den Auszug nicht aus der ECR-Registrierung lesen, obwohl das Bild verfügbar ist?

    
David Elner 31.05.2017, 01:08
quelle

1 Antwort

8

Ich hatte das gleiche Problem, aber ich löste es mit --with-registry-auth . Nachdem Sie sich mit docker login angemeldet haben, können Sie den gleichen Update-Befehl mit --with-registry-auth bestätigen?

Ссылка

    
Akira Fukushima 11.08.2017 13:13
quelle