VB
Size: a a a
VB
OK
VB
МБ
VB
VB
VB
VL
# =====================
# STATIC BUILDER IMAGE
# =====================
FROM node:10.16.0 AS builder
# installing deps
ADD package.json /opt/app/package.json
ADD package-lock.json /opt/app/package-lock.json
RUN cd /opt/app/ && npm install
# Copy node_modules from builder image
WORKDIR /opt/app
ADD . /opt/app
RUN NODE_ENV=production npm run build
# =====================
# WEB SERVER IMAGE
# =====================
FROM nginx:1.16.0-alpine
COPY nginx.conf /etc/nginx/nginx.conf
COPY --from=builder /opt/app/build /usr/share/nginx/html
IK
# =====================
# STATIC BUILDER IMAGE
# =====================
FROM node:10.16.0 AS builder
# installing deps
ADD package.json /opt/app/package.json
ADD package-lock.json /opt/app/package-lock.json
RUN cd /opt/app/ && npm install
# Copy node_modules from builder image
WORKDIR /opt/app
ADD . /opt/app
RUN NODE_ENV=production npm run build
# =====================
# WEB SERVER IMAGE
# =====================
FROM nginx:1.16.0-alpine
COPY nginx.conf /etc/nginx/nginx.conf
COPY --from=builder /opt/app/build /usr/share/nginx/html
npm ci
вместо install
VB
VB
VL
npm ci
вместо install
AR
# =====================
# STATIC BUILDER IMAGE
# =====================
FROM node:10.16.0 AS builder
# installing deps
ADD package.json /opt/app/package.json
ADD package-lock.json /opt/app/package-lock.json
RUN cd /opt/app/ && npm install
# Copy node_modules from builder image
WORKDIR /opt/app
ADD . /opt/app
RUN NODE_ENV=production npm run build
# =====================
# WEB SERVER IMAGE
# =====================
FROM nginx:1.16.0-alpine
COPY nginx.conf /etc/nginx/nginx.conf
COPY --from=builder /opt/app/build /usr/share/nginx/html
FROM node:10.16.0 AS baseЭто если приложение стартовать нужно (бэк на ноде или ssr-сервер), иначе свистопляска с пользователем не актуальна
WORKDIR /opt/app
# тут можно установить доп. пакеты
RUN groupadd -g 999 appuser && \
useradd -m -r -u 999 -g appuser appuser && \
chown -R appuser:appuser /opt/app
FROM base as builder
USER appuser
COPY package*.json ./
ENV NODE_ENV=production
RUN npm i
COPY . .
RUN npm run build
FROM base
COPY --from=builder --chown=appuser:appuser /opt/app /opt/app
USER appuser
ENV NODE_ENV=production
ENTRYPOINT npm start
VL
FROM node:10.16.0 AS baseЭто если приложение стартовать нужно (бэк на ноде или ssr-сервер), иначе свистопляска с пользователем не актуальна
WORKDIR /opt/app
# тут можно установить доп. пакеты
RUN groupadd -g 999 appuser && \
useradd -m -r -u 999 -g appuser appuser && \
chown -R appuser:appuser /opt/app
FROM base as builder
USER appuser
COPY package*.json ./
ENV NODE_ENV=production
RUN npm i
COPY . .
RUN npm run build
FROM base
COPY --from=builder --chown=appuser:appuser /opt/app /opt/app
USER appuser
ENV NODE_ENV=production
ENTRYPOINT npm start
AR
JV
OK
JV