Example Dockerfile for building an Angular 6 project
# base ===============================
FROM nginx:1.13.3-alpine AS base
# clean up
RUN rm -rf /usr/share/nginx/html/*
# builder ============================
FROM node:10 AS builder
# build dependencies
WORKDIR /app
RUN npm install -g @angular/cli@6.2.3
COPY package.json /app
RUN npm install
# build
ARG BUILDCONF
COPY . /app
RUN ng build --configuration=${BUILDCONF}
# final ==============================
FROM base AS final
# setup server
WORKDIR /app
COPY docker/default.conf /etc/nginx/conf.d/
COPY --from=builder /app/dist /usr/share/nginx/html
CMD ["nginx", "-g", "daemon off;"]
In the dockerfile above, the line for ng build takes a build arg ${BUILDCONF}
RUN ng build --configuration=${BUILDCONF}
You can pass this build arg through the docker build command using the --build-arg parameter
docker build -t my-app:build --build-arg BUILDCONF=$BUILD_CONFIG .