Docker устанавливает предел (ограничение, исправление) тега версии изображения, чтобы получить (ОТ) только один конкретный номер основной версии - PullRequest
0 голосов
/ 27 сентября 2018

Как написать оператор FROM в Dockerfile, который извлекает последнее изображение из определенной версии Major.Допустим, есть приложение, которое в настоящее время имеет три основные версии: v1.7, v2.5, v3.0.5, и я хочу всегда иметь самую последнюю версию образа v2.если я введу оператор Dockerfile:

FROM imagename:latest

, тогда я получу версию сборки 3.0.5, потому что это последняя версия.Если я поставлю:

FROM imagename:2.5

Тогда я получу точную версию 2.5, но не смогу обновить изображение с этим утверждением, как только версия 2.6 станет доступной.

Как установить FROMзаявление, которое будет всегда получать последние обновления версии 2, которые не будут тормозить обратную совместимость и придерживаться этой основной версии 2.?

1 Ответ

0 голосов
/ 28 сентября 2018

Теги изображений Docker (включая строки Dockerfile FROM и изображения docker run) всегда точно совпадают.Как следствие, как только Docker считает, что у него есть определенное изображение локально, он не будет пытаться получить его снова, если явно не указано иное.

Многие распространенные изображения Docker имеют соглашение о публикации одного изображения под несколькими тегами,что-то вроде того, что вы предлагаете.Например, на момент написания этой статьи для стандартного python изображения , python:latest, python:3, python:3.7, python:3.7.0 и python:3.7.0-stretch все указывают на одно и то же изображение.Если бы вы сказали FROM python:3, вы бы получили это изображение.Но если у вас уже было это изображение, и Python 3.8 был выпущен, и вы перестроили без явного выполнения docker pull, вы использовали бы то же изображение, которое у вас уже было (изображение с Python 3.7).Если вы сделали docker pull python:3, то получили бы обновленное изображение, но вам нужно было бы это сделать (или сказать своему инструменту CI сделать это за вас).

...