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