FROM node:18 as static-builder
WORKDIR /app
COPY package*.json ./
RUN npm install --legacy-peer-deps
COPY . .
RUN npm run build
# EXPOSE 3000 - эта директива оставлена для обратной совместимости и ни какие порты не открывает, можно её не использовать
FROM nginx
COPY --from=static-builder /app/publc /usr/shared/nginx/html
# или другой каталог, если артефакт сборки помещается не в /app/publc
docker run --rm -v ${PWD}/:/var/task -u 0 node:15-alpine sh --help
BusyBox v1.31.1 () multi-call binary.
Usage: sh [-/+OPTIONS] [-/+o OPT]... [-c 'SCRIPT' [ARG0 [ARGS]] / FILE [ARGS] / -s [ARGS]]
Unix shell interpreter
docker run --rm -v ${PWD}/:/var/task -u 0 node:15-alpine sh -c "cd /var/task && npm install && npm ci"
docker run --rm -v ${PWD}/:/var/task -u 0 --workdir="/var/task" node:15-alpine sh -c "npm install && npm ci
docker run --rm -v ${PWD}/:/var/task -u 0 --workdir="/var/task" node:15-alpine npm install && npm ci
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:8000/;
}