обновление службы докеров: не удалось получить доступ к изображению в реестре для записи его дайджеста

У меня есть образ в реестре Elastic Container Registry (ECR) Amazon, который я хочу развернуть в качестве службы Docker в своем рое Docker с одним узлом. В настоящее время служба использует более старую версию тега latest изображения, но с тех пор я загрузил более новую версию тега latest в ECR.

Запуск docker service update --force my_service на моем узле swarm, который использует образ XXXXXXXXXXXX.dkr.ecr.us-east-1.amazonaws.com/my_service:latest, приводит к:

image XXXXXXXXXXXX.dkr.ecr.us-east-1.amazonaws.com/my_service:latest не может быть доступен в реестре для записи его дайджеста. Каждый узел будет получать доступ к XXXXXXXXXXXX.dkr.ecr.us-east-1.amazonaws.com/my_service:latest независимо друг от друга, что может привести к тому, что на разных узлах будут работать разные версии образа.

Похоже, это препятствует тому, чтобы узел извлек новую копию тега latest из реестра, а служба не могла должным образом обновиться.

Я правильно вошел в систему с docker login в ECR, и запуск docker pull XXXXXXXXXXXX.dkr.ecr.us-east-1.amazonaws.com/my_service:latest работает нормально (и возвращает дайджест).

Почему docker service update не может прочитать дайджест из реестра ECR, несмотря на то, что образ доступен?


person David Elner    schedule 31.05.2017    source источник
comment
Кажется, я получаю ту же ошибку при запуске: обновление службы докеров --with-registry-auth --image example.com/group/myimage:XYZ mystack_myservice. У меня докер 17.05. Я также вошел в реестр контейнеров gitlab перед запуском команды (на узле менеджера), поэтому у него не должно возникнуть проблем с доступом к реестру. Ошибка: Ошибка: невозможно получить доступ к изображению example.com/group/myimage:X.Y.Z в реестре для записи его дайджеста.   -  person Snorre    schedule 01.06.2017
comment
Моя проблема оказалась в том, что я использовал неправильный тег изображения (часть версии). Пока я вошел в систему и использую аргумент --with-registry-auth, он работает.   -  person Snorre    schedule 02.06.2017


Ответы (1)


У меня была такая же проблема, но я решил ее с помощью --with-registry-auth. После того, как вы вошли в систему с помощью docker login, можете ли вы подтвердить ту же команду обновления с помощью --with-registry-auth?

https://github.com/moby/moby/issues/34153#issuecomment-316047924

person Akira Fukushima    schedule 11.08.2017
comment
Решил это для меня... Спасибо. - person Ezekiel Victor; 05.10.2017