Расширение этапа многоэтапного встроенного изображения на док-станции - PullRequest
0 голосов
/ 27 ноября 2018

Благодаря поддержке многоэтапных сборок стало удобно поддерживать репо до определенного момента.Но как вы можете расширить эти репозитории?

До сих пор вы можете создать образ определенного тега, используя --target в команде docker build.

Из docker-compose,Вы можете использовать запись target в записи context, чтобы указать ее.

В моем случае я хочу использовать изображение из концентратора докеров и расширить конкретную цель.Прямо сейчас я использую Dockerfile (который я вызываю из docker-compose, но это не имеет значения), который имеет

FROM repo/sample-name
DO my stuff

У этого репо 3 цели в их Dockerfile с именем sample-name, sample-name-full который расширяет sample-name и sample-name-dev, который расширяет sample-name-full.Черточки в этих именах похожи на то, как репо назвал свои цели.

Кажется, что происходит то, что я получаю первую цель в качестве цели сборки (или, как мне кажется, я знаю), которая названа в честь репосам.Как я могу, скажем, расширить промежуточную цель?

Я пробовал что-то вроде

FROM repo/sample-name:latest-sample-name-dev

и т. Д., Но я не мог заставить его работать.

1 Ответ

0 голосов
/ 27 ноября 2018

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

...