Клонировать образ Docker с другим тегом/ша

Я хочу отправить образ 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

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

Rup 15.06.2024 10:15

SHA генерируется на основе содержимого изображения. Если содержимое изображения абсолютно одинаковое, то SHA всегда будет одинаковым. Вы каждый раз отправляете один и тот же образ, и все репозитории Docker поймут, что это один и тот же образ, и просто обновят/добавят любые новые теги к образу, который уже хранится в репозитории. Это особенность репозиториев изображений. Он работает так, как задумано, а вы ожидаете от него чего-то совершенно другого.

Mark B 15.06.2024 12:30

Это похоже на проблему X,Y. Чего вы на самом деле здесь пытаетесь достичь? Обычно одно и то же изображение с несколькими тегами используется, когда вы хотите выпустить последнюю версию, 3.8.12, 3.8 и т. д., чтобы все они использовали одну и ту же версию изображения.

Chris Doyle 15.06.2024 15:09

Это просто для демо. Интересно, можно ли это сделать без внесения изменений в файлы. Однако приятно знать! Тывм!

CS_91 17.06.2024 19:34

Если вам нужны разные изображения, вы можете, например, написать для каждого из них небольшой текстовый файл с помощью простого Dockerfile.

Rup 17.06.2024 21:14

Это то, что я сделал в качестве обходного пути, пока не получил ответ. Работал как шарм и был рад узнать теорию, лежащую в основе. Это изящная функция.

CS_91 17.06.2024 21:56

Я думаю, что это была хорошая информация и ответ на вопрос. Не уверены, хотите ли вы опубликовать их в качестве ответов, или мне следует самому скомпилировать их в ответ?

CS_91 17.06.2024 22:08
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
7
57
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я собираюсь опубликовать пару комментариев, которые я получил в качестве ответа:

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

Если вам нужны разные изображения, вы можете, например, написать для каждого из них небольшой текстовый файл с помощью простого Dockerfile. – Руп

Другие вопросы по теме