Можно ли сохранить промежуточный образ в контейнер и использовать его для других проектов?

Я пишу на Haskell и использую Stack.
Для того, чтобы начать компилировать код надо иметь установленный stack и в корне разработки прописать stack setup. Это скачивает компилятор и позволяет приступить к сборке.
Если я хочу завернуть свои приложения в docker. То мне приходится проходить скачивание stack, его инициализацию, и, как результат, сборку приложения.
Из-за этого приложение, которое после сборки занимает от силы пару мегабайт начинает весить 6 гигиов.

Можно ли как-то создать контейнер с предустановленным stack и использовать его для сборки контейнеров?
Чтобы иметь возможность после сборки удалить лишние инструменты и оставить в образе приложения только само приложение для запуска.
  • Вопрос задан
  • 98 просмотров
Пригласить эксперта
Ответы на вопрос 1
@zohan1993
devops
для минимизации образа с приложением
multistage-build

этап 1
устанавливаете все необходимые инструменты и зависимости для компиляции приложения
выполняете компиляцию приложения

этап 2
устанавливаете все зависимости необходимые для работы приложения
копируете готовое приложение в новый образ
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы