Запуск 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, которое является частью манифеста, и вместо этого необходимо извлечь устаревшую версию? Почему удаленный последний в реестре остается устаревшим?