Как заставить концентратор Docker использовать один и тот же образ для последней версии и vX.Y?

Docker Hub создает для меня образ синхронизации из это репозиторий с исходным кодом.

Я пометил последний коммит v0.13.5 дважды: < a href = "https://hub.docker.com/r/meonkeys/syncthing/builds/bzlm4fee4yjyngzecouubzv/" rel = "nofollow noreferrer"> один раз для latest и один раз для v0.13.5.

Почему? Разве нельзя выяснить, что источник тот же? Я просто делаю что-то глупое в своем Dockerfile, нарушая кеширование? Есть ли способ намекнуть Docker Hub, что это действительно должны быть два изображения с одинаковой контрольной суммой, но разными тегами?

Я думаю о двух тегах изображений Docker latest и v0.13.5 как о двух тегах git, указывающих на одну и ту же фиксацию. Разве Docker Hub не должен работать так же? Если кто-то попытается вытащить latest, он вытащит точно такое же изображение с тегом v0.13.5? Я знаю, как тянуть / повторно тегировать / нажимать, но опять же, похоже, просто должен быть какой-то способ заставить Docker Hub делать это автоматически.

Настройки сборки:

снимок экрана настроек meonkeys / синхронизации сборки


person Adam Monsen    schedule 06.06.2016    source источник
comment
Думаю, прошу новую функцию. Сохранено здесь: github.com/docker/hub-feedback/issues/712   -  person Adam Monsen    schedule 23.06.2016


Ответы (2)


Приложив немного волшебства, Docker Hub может сделать это! Пабло Чико де Гузман помог мне.

Шаги:

  1. добавьте файл с именем hooks/post_push
  2. сделать hooks/post_push исполняемым файлом, зафиксировать и нажать
  3. удалите сборку "Branch", но оставьте сборку "Tag" на месте

Теперь любые теги, которые я нажимаю (например, git push --tags), запускают автоматическую сборку, и этому же изображению также присваивается тег latest.

Вот изменение, которое мне пришлось внести, так что последний "vX.Y" -tagged meonkeys/syncthing изображение также имеет тег latest.

снимок экрана с настройками сборки Docker Hub для моего синхронизируемого образа

person Adam Monsen    schedule 28.06.2016

Latest - это просто «последняя сборка / тег, который выполнялся без указания определенного тега / версии».

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

Автоматизированная сборка в Docker Hub автоматически добавляет тег latest для основной ветки.

person molivier    schedule 06.06.2016
comment
У вас должна быть возможность настраивать теги автосборки: docs.docker.com/ docker-hub / images / regex-help.png. - person molivier; 06.06.2016
comment
Я не проталкиваю никакие образы, Docker Hub собирает и помечает все за меня. (также добавлено больше деталей к исходному вопросу) - person Adam Monsen; 08.06.2016