Skip to content
Snippets Groups Projects
Dockerfile 810 B
Newer Older
# 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;"]