opengis/Dockerfile
Flook 43299b4d9e
All checks were successful
continuous-integration/drone/push Build is passing
ทดสอบ DevSecOps
2025-02-01 04:59:12 +07:00

35 lines
1.2 KiB
Docker

# ใช้ Node.js เป็น base image
FROM node:18-alpine AS build
# กำหนด working directory ใน container
WORKDIR /app
# คัดลอกไฟล์ package.json และ package-lock.json ไปยัง container
COPY package.json package-lock.json ./
# ติดตั้ง dependencies รวม devDependencies
RUN npm ci # ✅ ติดตั้ง dependencies ทั้งหมด
# คัดลอกไฟล์ทั้งหมดของโปรเจคไปยัง container
COPY . .
# Build React + Vite
RUN npm run build # ✅ ตอนนี้ vite build จะใช้ @vitejs/plugin-react ได้แล้ว
# ใช้ Nginx เป็น Web Server สำหรับเสิร์ฟไฟล์ static
FROM nginx:alpine
RUN adduser -D myuser
USER myuser
# คัดลอกไฟล์ที่ build แล้วไปยัง Nginx
COPY --from=build /app/dist /usr/share/nginx/html
# ลบ cache หรือไฟล์ที่ไม่จำเป็น
RUN rm -rf /var/cache/apk/*
# เปิดพอร์ต 80
EXPOSE 80
# สั่งให้ Nginx ทำงาน
CMD ["nginx", "-g", "daemon off;"]