diff options
Diffstat (limited to 'Dockerfile')
-rw-r--r-- | Dockerfile | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..00dba2c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,56 @@ + +# ============LICENSE_START========================================== +#=================================================================== +#Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. +#=================================================================== + +#Unless otherwise specified, all software contained herein is licensed +#under the Apache License, Version 2.0 (the License); +#you may not use this software except in compliance with the License. +#You may obtain a copy of the License at + + # http://www.apache.org/licenses/LICENSE-2.0 + +#Unless required by applicable law or agreed to in writing, software +#distributed under the License is distributed on an "AS IS" BASIS, +#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +#See the License for the specific language governing permissions and +#limitations under the License. + +#ECOMP is a trademark and service mark of AT&T Intellectual Property. +#============LICENSE_END============================================ + +### STAGE 1: Build ### + +# We label our stage as 'builder' +FROM node:8-alpine as builder + +COPY package.json . + +RUN npm set progress=false && npm config set depth 0 && npm cache clean --force + +## Storing node modules on a separate layer will prevent unnecessary npm installs at each build +RUN npm i && mkdir /ng-app && cp -R ./node_modules ./ng-app + +WORKDIR /ng-app + +COPY . . + +## Build the angular app in production mode and store the artifacts in dist folder +RUN $(npm bin)/ng build --env=prod + + +### STAGE 2: Setup ### + +FROM nginx:1.13.3-alpine + +## Copy our default nginx config +COPY nginx/default.conf /etc/nginx/conf.d/ + +## Remove default nginx website +RUN rm -rf /usr/share/nginx/html/* + +## From 'builder' stage copy over the artifacts in dist folder to default nginx public folder +COPY --from=builder /ng-app/dist /usr/share/nginx/html + +CMD ["nginx", "-g", "daemon off;"] |