Current section
Files
Jump to
Current section
Files
priv/template/Dockerfile.eex
# 河狸家 Elixir 应用统一镜像,生成自
# https://git.helijia.cn/skylab/elixir-skylab-deploy
# - stage 1: generate release
FROM registry.cn-beijing.aliyuncs.com/hlj-public/elixir-builder:2.5 AS builder
ARG app_name
ARG app_vsn
ARG node_env
ARG app_revision
ENV REPLACE_OS_VARS=true \
APP_NAME=${app_name} \
APP_VSN=${app_vsn} \
NODE_ENV=${node_env} \
MIX_ENV=${node_env} \
APP_REVISION=${app_revision}
WORKDIR /app/src
COPY . .
# Phoenix digest
# RUN mix phx.digest
RUN MIX_ENV=${NODE_ENV} mix release
RUN cp -av _build/${NODE_ENV}/rel/$APP_NAME/* /app
RUN cd .. && rm -rf src
WORKDIR ..
# - stage 2: build final runner
FROM registry.cn-beijing.aliyuncs.com/hlj-public/elixir-app-runner:2.5
ARG app_name
ARG app_revision
ARG node_env
ENV REPLACE_OS_VARS=true \
MIX_ENV=${node_env} \
APP_NAME=${app_name} \
APP_REVISION=${app_revision}
COPY --from=builder /app /app
WORKDIR /app
CMD trap 'exit' INT; bin/${APP_NAME} start