Best practices for writing Dockerfiles - konlawatit/SWDEV-BBP-PLUS GitHub Wiki
FrontEnd
FROM node:16.13.0-alpine
FROM ใช้ alpine image ซึ่งครอบคลุมการทำงานและมีขนาดเล็ก
WORKDIR /usr/app/frontend
# Install PM2 globally
# RUN yarn add pm2
ใช้ Path ที่ถูกเพื่อประกาศไดเร็กทอรีบน container docker
COPY ./package.json .
COPY yarn.lock .
คัดลอกแยกแต่ละรายการไม่นำมารวมกัน
RUN yarn install
COPY . .
RUN yarn run build
ใช้คำสั่ง RUN ที่อ่านง่าย เข้าใจ และสามารถปรับปรุงได้ง่ายขึ้น
COPY resource ฝั่ง frontend ไปยัง container
COPY เฉพาะฝั่ง client
CMD ["npm", "start"]
ใช้ CMD ในรูปแบบของ array
Backend
FROM node:16.13.0-alpine
FROM ใช้ alpine image ซึ่งครอบคลุมการทำงานและมีขนาดเล็ก
WORKDIR /usr/app/backend
ใช้ Path ที่ถูกเพื่อประกาศไดเร็กทอรีบน container docker
COPY ./package.json .
คัดลอกแยกแต่ละรายการไม่นำมารวมกัน
RUN yarn install
COPY . .
CMD ["yarn", "run", "start"]
ใช้คำสั่ง RUN ที่อ่านง่าย เข้าใจ และสามารถปรับปรุงได้ง่ายขึ้น
COPY resource ฝั่ง frontend ไปยัง container
CMD ["npm", "start"]
ใช้ CMD ในรูปแบบของ array