Introduce docker for web app

This commit is contained in:
Matthäus Mayer
2018-03-02 09:01:34 +01:00
parent c3e968b4cc
commit 7b4f9064c8
3 changed files with 39 additions and 0 deletions

2
web/.dockerignore Normal file
View File

@@ -0,0 +1,2 @@
node_modules
.git

17
web/Dockerfile Normal file
View File

@@ -0,0 +1,17 @@
FROM node:9-alpine as build
COPY package.json package-lock.json ./
RUN npm set progress=false \
&& npm config set depth 0 \
&& npm cache clean --force
RUN npm i \
&& mkdir /app \
&& cp -R ./node_modules /app
WORKDIR /app
COPY . .
RUN $(npm bin)/ng build --prod --build-optimizer
FROM nginx:1.13.3-alpine
RUN rm -rf /var/www/html/*
COPY nginx/default.conf /etc/nginx/conf.d/
COPY --from=build /app/dist /var/www/html
CMD ["nginx", "-g", "daemon off;"]

20
web/nginx/default.conf Normal file
View File

@@ -0,0 +1,20 @@
server {
listen 80;
sendfile on;
default_type application/octet-stream;
gzip on;
gzip_http_version 1.1;
gzip_disable "MSIE [1-6]\.";
gzip_min_length 256;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;
gzip_comp_level 9;
root /var/www/html;
location / {
try_files $uri $uri/ /index.html =404;
}
}