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