Dockerfile 652 B

12345678910111213141516171819202122232425262728293031
  1. FROM node:14-alpine AS deps
  2. ARG REACT_APP_INCLUDE_GTAG=false
  3. RUN mkdir /opt/node_app && chown node:node /opt/node_app
  4. WORKDIR /opt/node_app
  5. USER node
  6. COPY package.json package-lock.json ./
  7. RUN npm install --no-optional && npm cache clean --force
  8. ENV PATH /opt/node_app/node_modules/.bin:$PATH
  9. WORKDIR /opt/node_app
  10. COPY . .
  11. FROM node:14-alpine AS build
  12. ARG NODE_ENV=production
  13. ARG REACT_APP_INCLUDE_GTAG=false
  14. WORKDIR /opt/node_app
  15. COPY --from=deps /opt/node_app .
  16. RUN ls
  17. RUN npm run build:app
  18. FROM nginx:1.17-alpine
  19. COPY --from=build /opt/node_app/build /usr/share/nginx/html
  20. HEALTHCHECK CMD wget -q -O /dev/null http://localhost || exit 1