สรุปการสร้าง dockerfile - konlawatit/SWDEV-BBP-PLUS GitHub Wiki

Frontend

  1. กำหนด Image หลักที่ใช้ใน Container
FROM node:16.13.0-alpine
  1. กำหนด Environment variables
ENV PORT=3000
  1. กำหนด Working Directory ที่ใช้สำหรับการทำงานที่เป็น Directory หลัก
WORKDIR /usr/app/frontend
  1. คัดลอก package.json ไปยัง Working Directory
COPY ./package.json .
  1. คัดลอก yarn.lock ไปยัง Working Directory
COPY yarn.lock .
  1. ทำการรันคำสั่ง yarn install เพื่อ Install Dependencies จาก package.json ที่อยู่ใน Working Directory
RUN yarn install
  1. คัดลอกไฟล์ไปยัง Working Directory ยกเว้นสิ่งที่กำหนดใน .dockerignore
COPY . .
  1. ทำการรันคำสั่ง yarn run build เพื่อ Build ไฟล์สำหรับการนำไปใช้
RUN yarn run build
  1. กำหนดคำสั่งที่จะให้รันเมื่อรัน Image
CMD ["npm", "start"]

Backend

  1. กำหนด Image หลักที่ใช้ใน Container
FROM node:16.13.0-alpine
  1. กำหนด Working Directory ที่ใช้สำหรับการทำงานที่เป็น Directory หลัก
WORKDIR /usr/app/backend
  1. คัดลอก package.json ไปยัง Working Directory
COPY ./package.json .
  1. ทำการรันคำสั่ง yarn install เพื่อ Install Dependencies จาก package.json ที่อยู่ใน Working Directory
RUN yarn install
  1. คัดลอกไฟล์ไปยัง Working Directory ยกเว้นสิ่งที่กำหนดใน .dockerignore
COPY . .
  1. กำหนดคำสั่งที่จะให้รันเมื่อรัน Image
CMD ["yarn", "run", "start"]