Я хочу использовать образ докера в рабочей среде для запуска контейнера Phoenix. Однако, поскольку Elixir - это просто слой поверх Erlang, создается впечатление, что запуск Elixir в моей производственной среде может быть пустой тратой пространства.
В идеале я мог бы скомпилировать все приложение Phoenix в Erlang, а затем использовать изображение из erlang: alpine, чтобы фактически запустить приложение в работе.Примерно так ...
FROM elixir:alpine as builder
(install dependencies and copy files)
RUN mix compile_app_to_erlang
FROM erlang:alpine
COPY --from=builder /path/to/compiled/erlang /some/other/path
CMD ["erlang", "run"]
примечание: compile_app_to_erlang не настоящая команда, но я ищу что-то подобное.Кроме того, я понятия не имею, как работает erlang, так что весь код там полностью составлен.
Кроме того, насколько я знаю, есть проект, который называется винокурня, который делает это, но похоже,тип вещей, которые не должны быть слишком сложными (если бы я знал, как работает эрланг), и я бы предпочел не полагаться на другую зависимость, если у меня ее тоже нет.Кроме того, похоже, что если вы используете ликеро-водочный завод, вам также придется использовать специально созданные образы докеров для запуска кода, чего я стараюсь избегать.
Возможно ли что-то подобное?Если так, кто-нибудь знает решение DIY?