สรุปการสร้าง Dockerfile - Mrsmithz/Project-SW-Dev-and-Env GitHub Wiki

สรุปการสร้าง Dockerfile

Frontend

  1. ระบุ Base Image ที่ใช้ใน Container

FROM node:16.14-alpine

  1. กำหนด Working Directory

WORKDIR /usr/app

  1. คัดลอกไฟล์ package.json ลงใน Working Directory

COPY package.json ./

  1. คัดลอกไฟล์ yarn.lock ลงใน Working Directory

COPY yarn.lock ./

  1. ใช้คำสั่ง yarn add sharp เพื่อเพิ่มประสิทธิภาพสำหรับ production

RUN yarn add sharp

  1. ใช้คำสั่ง yarn install สำหรับติดตั้ง dependencies

RUN yarn install

  1. คัดลอกไฟล์ทั้งหมดลงใน Working Directory

COPY ./ ./

  1. ใช้คำสั่ง npm run build สำหรับ Build

RUN npm run build

  1. ระบุ Port ภายใน Container

EXPOSE 3000

  1. กำหนดคำสั่งสำหรับรัน

CMD ["npm", "start"]

Backend

  1. ระบุ Base Image ที่ใช้ใน Container

FROM node:16.14-alpine

  1. กำหนด Working Directory

WORKDIR /usr/app

  1. คัดลอกไฟล์ package.json และ package-lock.json ลงใน Working Directory

COPY package*.json ./

  1. ใช้คำสั่ง nom install สำหรับติดตั้ง dependencies

RUN npm install

  1. คัดลอกไฟล์ทั้งหมดลงใน Working Directory

COPY ./ ./

  1. ระบุ Port ภายใน Container

EXPOSE 8000

  1. กำหนดคำสั่งสำหรับรัน

CMD ["npm", "run", "serve"]