From 1b9216b3415866e77c964c80a90b2ce6b3db48be Mon Sep 17 00:00:00 2001 From: C0ffeeCode Date: Sun, 30 Jan 2022 16:28:38 +0100 Subject: [PATCH] Improve Dockerfile (#256) * Use npm ci over install to achive faster and more expectable build results; Split copy package(-lock).json files and ci then to avoid reinstalling dependencies when not needed => Faster build times * Stopp adding wasm type to mime.types, its already there (duplicate): - avoids warning in console - cleans up - might have been missing in past nginx:alpine versions but now exists * Change node tag from alpine and nginx to more specific ones for #260 --- .dockerignore | 2 ++ Dockerfile | 12 +++++------- 2 files changed, 7 insertions(+), 7 deletions(-) create mode 100644 .dockerignore diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..be0443ae --- /dev/null +++ b/.dockerignore @@ -0,0 +1,2 @@ +node_modules/ +.git/ diff --git a/Dockerfile b/Dockerfile index 30640034..751e1e88 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,20 +1,18 @@ ## Builder -FROM node:14-alpine as builder +FROM node:17.4.0-alpine3.15 as builder WORKDIR /src +COPY package.json package-lock.json /src +RUN npm ci COPY . /src -RUN npm install \ - && npm run build +RUN npm run build ## App -FROM nginx:alpine +FROM nginx:1.21.6-alpine COPY --from=builder /src/dist /app -# Insert wasm type into Nginx mime.types file so they load correctly. -RUN sed -i '3i\ \ \ \ application/wasm wasm\;' /etc/nginx/mime.types - RUN rm -rf /usr/share/nginx/html \ && ln -s /app /usr/share/nginx/html