diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..3c3629e6 --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +node_modules diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..c4d7d4a1 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,21 @@ +## base image +FROM node:13.12.0-buster-slim + +## set working directory +WORKDIR /usr/src/app + +## add `/usr/src/app/node_modules/.bin` to $PATH +ENV PATH /usr/src/app/node_modules/.bin:$PATH + +## install and cache app dependencies +COPY package.json /usr/src/app/package.json + +## create user "node" and give permissions +RUN chown -R node:node . && chmod -R 755 . +USER node + +# install app dependencies +RUN npm install + +## start app +CMD ["npm", "start"] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000..9f73ccfd --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,15 @@ +version: '3.7' + +services: + reactive-resume: + container_name: reactive-resume + build: + context: . + dockerfile: Dockerfile + volumes: + - '.:/usr/src/app' + - '/usr/src/app/node_modules' + ports: + - '3001:3000' + environment: + - NODE_ENV=development