Почему docker использует устаревшие: последние при работе с многоархитектурными изображениями? - PullRequest
1 голос
/ 28 апреля 2020

Запуск Docker на OSX, сборка нескольких арок. Моя проблема в том, что при использовании тега :latest устаревшее изображение создается или вытягивается. Вот что происходит.

Очистка:

docker image rm -f volkszaehler/mbmd:latest volkszaehler/mbmd:0.10

Сборка из нескольких арок:

docker build -t volkszaehler/mbmd:0.10-amd64 -t volkszaehler/mbmd:latest-amd64 -f linux-amd64-.Dockerfile .
docker push volkszaehler/mbmd:0.10-amd64
docker push volkszaehler/mbmd:latest-amd64
docker manifest create --amend volkszaehler/mbmd:0.10 volkszaehler/mbmd:0.10-amd64
docker manifest annotate volkszaehler/mbmd:0.10 volkszaehler/mbmd:0.10-amd64 --os=linux --arch=amd64
docker manifest push volkszaehler/mbmd:0.10
docker manifest create --amend volkszaehler/mbmd:latest volkszaehler/mbmd:latest-amd64
docker manifest annotate volkszaehler/mbmd:latest volkszaehler/mbmd:latest-amd64 --os=linux --arch=amd64
docker manifest push volkszaehler/mbmd:latest

Проверка версии amd64 напрямую (e83718d это текущая git commit - OK):

docker run volkszaehler/mbmd:latest-amd64 run -a 192.168.0.1:502 -d mpm:5
2020/04/28 05:54:57 mbmd 0.10 (e83718d)

Проверка версии манифеста:

docker run volkszaehler/mbmd:latest run -a 192.168.0.1:502 -d mpm:5     
Unable to find image 'volkszaehler/mbmd:latest' locally
latest: Pulling from volkszaehler/mbmd
e6b0cf9c0882: Already exists 
091e8a40b217: Already exists 
01dff8bc2c5b: Already exists 
5fa7edce914c: Already exists 
20370734a95f: Already exists 
Digest: sha256:e52d6212bac3026ee619c4b6a646035fb93827ed3cd1f5f536acb74b53646eca
Status: Downloaded newer image for volkszaehler/mbmd:latest
2020/04/28 05:55:05 mbmd 851ad89 (851ad89)

Теперь 851ad89 является устаревшим коммитом. Также очевидно, что volkszaehler/mbmd:latest не доступен локально и должен быть извлечен.

Почему docker не выбирает локальное изображение amd64, которое является частью манифеста, и вместо этого необходимо извлечь устаревшую версию? Почему удаленный последний в реестре остается устаревшим?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...