Код

Код


FROM node:12-alpine as builder

WORKDIR /app


# Копируем в образ файлы, нужные для установки зависимостей приложения.

COPY package.json package-lock.json ./


# Устанавливаем зависимости приложения.

RUN npm ci


# Копируем в образ все остальные файлы приложения.

COPY . .


# Собираем статические файлы.

RUN npm run build


#############################################################################


FROM node:12-alpine as backend

WORKDIR /app


# Копируем в образ файлы, нужные для установки зависимостей приложения.

COPY package.json package-lock.json ./


# Устанавливаем зависимости приложения.

RUN npm ci --production


# Копируем файлы приложения.

COPY app.js ./

RUN mkdir dist

COPY --from=builder /app/dist/*.html ./dist/

COPY --from=builder /app/bin     ./bin/

COPY --from=builder /app/routes   ./routes/



#############################################################################


# NGINX-образ с собранными ранее ассетами.

FROM nginx:stable-alpine as frontend

WORKDIR /www


# Копируем собранные ассеты из предыдушего сборочного образа.

COPY --from=builder /app/dist /www/static


# Копируем конфигурацию NGINX.

COPY .werf/nginx.conf /etc/nginx/nginx.conf

Report Page