# Stage 0, based on Node.js, to build and compile Angular FROM node:12.16-slim as build WORKDIR /app # Copy the package.json file first in order to cache the modules COPY ./package.json . COPY ./package-lock.json . # Install npm dependencies RUN npm install --silent # Copy the project COPY angular.json . COPY tsconfig.json . COPY tsconfig.app.json . COPY nginx.conf . COPY /src ./src ARG conf # Building the Angular app /dist i18n RUN npm run build:${conf} # Stage 1, based on Nginx, to have only the compiled app FROM nginx:1.16.0-alpine # copy artifact build from the 'build environment' COPY --from=build /app/dist /var/www/htdocs COPY --from=build /app/nginx.conf /etc/nginx/nginx.conf RUN touch /var/run/nginx.pid # expose port 8080 EXPOSE 8080 # run nginx CMD ["nginx", "-g", "daemon off;"]