Расширение этапа многоэтапного встроенного изображения в докер-хабе

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

До сих пор вы можете создать изображение определенного тега, используя --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 ответ

Решение

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

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