Docker configure
This commit is contained in:
38
docker/Debug.Dockerfile
Normal file
38
docker/Debug.Dockerfile
Normal file
@@ -0,0 +1,38 @@
|
||||
# ============================================================
|
||||
# Одноэтапный Dockerfile (сборка и рантайм в одном образе)
|
||||
# ============================================================
|
||||
FROM erlang:28-alpine
|
||||
|
||||
# Устанавливаем инструменты для сборки и runtime-зависимости
|
||||
RUN apk add --no-cache \
|
||||
# для сборки
|
||||
git curl make gcc musl-dev \
|
||||
rust cargo openssl-dev libsodium-dev \
|
||||
# для рантайма
|
||||
openssl libstdc++ libgcc ncurses-libs
|
||||
|
||||
# Рабочая директория
|
||||
WORKDIR /app
|
||||
|
||||
# Копируем конфигурацию и исходники
|
||||
COPY rebar.config ./
|
||||
COPY include/ include/
|
||||
COPY src/ src/
|
||||
COPY src/config/sys.config ./config/sys.config
|
||||
|
||||
# Собираем зависимости и релиз
|
||||
RUN rebar3 get-deps && \
|
||||
rebar3 as prod release
|
||||
|
||||
# Создаём директорию для данных
|
||||
RUN mkdir -p /app/data && chmod 777 /app/data
|
||||
|
||||
# Настраиваем порты
|
||||
EXPOSE 8080 8081 8445 8446
|
||||
|
||||
# Переменные окружения
|
||||
ENV RELX_REPLACE_OS_VARS=true
|
||||
ENV MNESIA_DIR=/app/data
|
||||
|
||||
# Запускаем приложение из собранного релиза
|
||||
CMD ["/app/_build/prod/rel/eventhub/bin/eventhub", "foreground"]
|
||||
Reference in New Issue
Block a user