From 7b271afad695de92b19151100d126c158ae0b244 Mon Sep 17 00:00:00 2001 From: Chris van der Ploeg Date: Mon, 22 Nov 2021 14:55:17 -0700 Subject: [PATCH] Add nginx config for SPAs to real world docker example fixes #2818 --- src/v2/cookbook/dockerize-vuejs-app.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/v2/cookbook/dockerize-vuejs-app.md b/src/v2/cookbook/dockerize-vuejs-app.md index 1fc4ed6299..1382d6c48f 100644 --- a/src/v2/cookbook/dockerize-vuejs-app.md +++ b/src/v2/cookbook/dockerize-vuejs-app.md @@ -61,6 +61,19 @@ Nevertheless, for realistically complex production use cases, it may be wiser to Let's refactor our `Dockerfile` to use NGINX: +1. Create an NGINX config file called `nginx/nginx.conf` + +```conf +server { + location / { + # This would be the directory where Vue's static files are stored. + root /usr/share/nginx/html; + try_files $uri /index.html; + } +} +``` +2. Change your Dockerfile to + ```docker # build stage FROM node:lts-alpine as build-stage @@ -72,6 +85,7 @@ RUN npm run build # production stage FROM nginx:stable-alpine as production-stage +COPY ./nginx/nginx.conf /etc/nginx/conf.d/default.conf COPY --from=build-stage /app/dist /usr/share/nginx/html EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]