From f52dc475499c61ca4e958029bb4c1f234112e44e Mon Sep 17 00:00:00 2001 From: jwu-fisker Date: Thu, 7 Jan 2021 20:37:08 -0800 Subject: [PATCH] Add Dockerfile --- .dockerignore | 24 ++++++++++++++++++++++++ Dockerfile | 35 +++++++++++++++++++++++++++++++++++ nginx.conf | 13 +++++++++++++ 3 files changed, 72 insertions(+) create mode 100644 .dockerignore create mode 100644 Dockerfile create mode 100644 nginx.conf diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..54310c0 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,24 @@ +**/.classpath +**/.dockerignore +**/.env +**/.git +**/.gitignore +**/.project +**/.settings +**/.toolstarget +**/.vs +**/.vscode +**/*.*proj.user +**/*.dbmdl +**/*.jfm +**/azds.yaml +**/bin +**/charts +**/docker-compose* +**/Dockerfile* +**/node_modules +**/npm-debug.log +**/obj +**/secrets.dev.yaml +**/values.dev.yaml +README.md diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..e9a1bdc --- /dev/null +++ b/Dockerfile @@ -0,0 +1,35 @@ +# ================================ +# Create image to build project +FROM node:12-alpine as builder + +# copy the package.json to install dependencies +COPY package.json package-lock.json ./ +COPY .env.template ./.env + +# Install the dependencies and make the folder +RUN npm install && mkdir /react-ui && mv ./node_modules ./react-ui + +WORKDIR /react-ui + +COPY . . + +# Build the project and copy the files +RUN npm run build + +# ================================ +# Create image to serve react app +FROM nginx:latest + +#!/bin/sh + +COPY ./nginx.conf /etc/nginx/nginx.conf + +## Remove default nginx index page +RUN rm -rf /usr/share/nginx/html/* + +# Copy from the stahg 1 +COPY --from=builder /react-ui/build /usr/share/nginx/html + +EXPOSE 80 443 8080 + +ENTRYPOINT ["nginx", "-g", "daemon off;"] \ No newline at end of file diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..f38bf38 --- /dev/null +++ b/nginx.conf @@ -0,0 +1,13 @@ +events { worker_connections 1024; } + +http { + server { + listen 80; + root /usr/share/nginx/html; + include /etc/nginx/mime.types; + + location / { + try_files $uri /index.html; + } + } +} \ No newline at end of file