Я хочу отправить образ Docker в AWS несколько раз с увеличенными номерами версий. По сути, я хочу каждый раз клонировать одно и то же изображение с другим SHA. У меня возникла проблема: в моем репозитории номера версий отображаются в одной строке, поскольку они используют один и тот же SHA. Нужно ли мне просто что-то изменить в файлах или это можно сделать в процессе сборки/маркировки?
Вот как выглядит мое репо по сравнению с тем, как я хочу, чтобы оно выглядело.
Мой репозиторий AWS:
Демо-репозиторий AWS:
Я не нахожу ничего конкретного по этой проблеме. Любые ссылки или помощь будут оценены по достоинству!
Я делаю:
docker build -t <tag>:1.0
docker tag <tag>:1.0 xxxxx.dkr.ecr.....<tag>:1.0
docker push xxxxx.dkr.ecr.....<tag>:1.0
и делаем все это снова с добавлением 1.1 вместо 1.0
SHA генерируется на основе содержимого изображения. Если содержимое изображения абсолютно одинаковое, то SHA всегда будет одинаковым. Вы каждый раз отправляете один и тот же образ, и все репозитории Docker поймут, что это один и тот же образ, и просто обновят/добавят любые новые теги к образу, который уже хранится в репозитории. Это особенность репозиториев изображений. Он работает так, как задумано, а вы ожидаете от него чего-то совершенно другого.
Это похоже на проблему X,Y. Чего вы на самом деле здесь пытаетесь достичь? Обычно одно и то же изображение с несколькими тегами используется, когда вы хотите выпустить последнюю версию, 3.8.12, 3.8 и т. д., чтобы все они использовали одну и ту же версию изображения.
Это просто для демо. Интересно, можно ли это сделать без внесения изменений в файлы. Однако приятно знать! Тывм!
Если вам нужны разные изображения, вы можете, например, написать для каждого из них небольшой текстовый файл с помощью простого Dockerfile.
Это то, что я сделал в качестве обходного пути, пока не получил ответ. Работал как шарм и был рад узнать теорию, лежащую в основе. Это изящная функция.
Я думаю, что это была хорошая информация и ответ на вопрос. Не уверены, хотите ли вы опубликовать их в качестве ответов, или мне следует самому скомпилировать их в ответ?





Я собираюсь опубликовать пару комментариев, которые я получил в качестве ответа:
SHA генерируется на основе содержимого изображения. Если содержимое изображения абсолютно одинаковое, то SHA всегда будет одинаковым. Вы каждый раз отправляете один и тот же образ, и все репозитории Docker поймут, что это один и тот же образ, и просто обновят/добавят любые новые теги к образу, который уже хранится в репозитории. Это особенность репозиториев изображений. Он работает так, как задумано, а вы ожидаете от него чего-то совершенно другого. – Марк Б
Если вам нужны разные изображения, вы можете, например, написать для каждого из них небольшой текстовый файл с помощью простого Dockerfile. – Руп
Почему вы хотите, чтобы они отображались отдельно? Это один и тот же образ. Это просто заняло бы место в списке, а в репозитории всего одна копия.