สรุปการสร้าง Dockerfile - Mrsmithz/Project-SW-Dev-and-Env GitHub Wiki
สรุปการสร้าง Dockerfile
Frontend
- ระบุ Base Image ที่ใช้ใน Container
FROM node:16.14-alpine
- กำหนด Working Directory
WORKDIR /usr/app
- คัดลอกไฟล์ package.json ลงใน Working Directory
COPY package.json ./
- คัดลอกไฟล์ yarn.lock ลงใน Working Directory
COPY yarn.lock ./
- ใช้คำสั่ง yarn add sharp เพื่อเพิ่มประสิทธิภาพสำหรับ production
RUN yarn add sharp
- ใช้คำสั่ง yarn install สำหรับติดตั้ง dependencies
RUN yarn install
- คัดลอกไฟล์ทั้งหมดลงใน Working Directory
COPY ./ ./
- ใช้คำสั่ง npm run build สำหรับ Build
RUN npm run build
- ระบุ Port ภายใน Container
EXPOSE 3000
- กำหนดคำสั่งสำหรับรัน
CMD ["npm", "start"]
Backend
- ระบุ Base Image ที่ใช้ใน Container
FROM node:16.14-alpine
- กำหนด Working Directory
WORKDIR /usr/app
- คัดลอกไฟล์ package.json และ package-lock.json ลงใน Working Directory
COPY package*.json ./
- ใช้คำสั่ง nom install สำหรับติดตั้ง dependencies
RUN npm install
- คัดลอกไฟล์ทั้งหมดลงใน Working Directory
COPY ./ ./
- ระบุ Port ภายใน Container
EXPOSE 8000
- กำหนดคำสั่งสำหรับรัน
CMD ["npm", "run", "serve"]