2016-08-22 2 views
0

Я пытаюсь добиться того же механизма, что и maven для версий SNAPSHOT. В принципе, всякий раз, когда у меня есть разработка в Dockerfile, я хочу иметь возможность создавать временные версии в моем личном реестре.Docker версия для разработки/моментальный снимок

Я мог бы создать тег и заставить нажимать на этот тег, но я предпочел бы сохранить одну версию в реестре для данного тега.

Если изображение Docker A зависит от B (например, от 1.2.SNAPSHOT), то последний тег 1.2.x будет растянут.

Есть ли специальное ключевое слово в версии изображения, которое выполняет то, что я на самом деле пытаюсь достичь?

Надеется, что это достаточно ясно :)

+0

Не уверен, что у меня есть правильное понимание. Например, у вас есть теги '1.1.1',' 1.1.2', '1.1.3' и уже есть новая основная версия' 1.2' с некоторыми следующими второстепенными версиями. Затем, если вы обнаружили какую-то проблему в версии '1.1', вы хотите создать новую версию с тегом' 1.1.4' (назовем ее «patch»), и вы хотите, чтобы все дальнейшие основные версии (например, «1.2. ») будет затронут этот «патч»? – oakymax

+0

Я не могу не подумать, что правильный ответ здесь состоит в том, чтобы выталкивать каждую сборку дважды, один раз как «1.1.x» и один раз как '' именованный тег. '1.1.x' никогда не изменится, но' 'будет. – Matthew

ответ

0

я не использовал их, но это звучит как Maven снимки используются для указания версии развития. В результате новые версии всегда проверяются и выбираются.

Чтобы получить подобное поведение в докере, я считаю, что вам нужно будет проверить более новое базовое изображение для каждой сборки. Это вариант в сборке докеров: --pull

docker build --pull -t myimage . 
+0

Вы правы, моментальные снимки - это разработки. Однако они не всегда получаются из удаленного реестра/репозитория. Версия вытаскивается только тогда, когда удаленный источник является новее –

+0

, хорошо знать - в моем тестировании '--pull' работает одинаково - он пропускает загрузку, если локальная версия последней. –

Смежные вопросы