ตัวอย่าง deploy angular โดยใช้ dockerfile

ตัวอย่าง deploy Angular โดยใช้ Dockerfile มีดังนี้

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
FROM node:16-alpine

WORKDIR /app

COPY package.json package-lock.json ./

RUN npm install

COPY . .

RUN npm run build

EXPOSE 8080

CMD ["node", "dist/main"]

โค้ดนี้จะใช้ Docker image ของ Node.js เวอร์ชัน 16 เพื่อสร้างคอนเทนเนอร์สำหรับแอปพลิเคชัน Angular ของเรา

คอนเทนเนอร์นี้จะทำงานในโฟลเดอร์ /app และจะติดตั้งแพ็กเกจที่จำเป็นทั้งหมดโดยใช้คำสั่ง npm install

จากนั้นคอนเทนเนอร์จะสร้างแอปพลิเคชัน Angular ที่คอมไพล์แล้วลงในโฟลเดอร์ dist

คอนเทนเนอร์จะเปิดพอร์ต 8080 และจะรันไฟล์ main.js ในโฟลเดอร์ dist

ในการ deploy Angular โดยใช้ Dockerfile ให้เราทำตามขั้นตอนดังนี้

  1. สร้าง Dockerfile ตามที่ระบุไว้ข้างต้น
  2. สร้างคอนเทนเนอร์ Angular โดยใช้คำสั่ง docker build -t my-app .
  3. รันคอนเทนเนอร์ Angular โดยใช้คำสั่ง docker run -p 8080:8080 my-app

แอปพลิเคชัน Angular ของเราจะถูกเผยแพร่ที่ URL http://localhost:8080

เคล็ดลับ deploy Angular โดยใช้ Dockerfile

  • เราสามารถเพิ่มคำสั่ง npm prune ลงใน Dockerfile เพื่อลบแพ็กเกจที่ไม่จำเป็นออกจากคอนเทนเนอร์
  • เราสามารถเพิ่มคำสั่ง npm cache clean --force ลงใน Dockerfile เพื่อล้างแคชของแพ็กเกจ
  • เราสามารถเพิ่มคำสั่ง npm install --production ลงใน Dockerfile เพื่อติดตั้งแพ็กเกจที่จำเป็นสำหรับการผลิต

สรุป

การ deploy Angular โดยใช้ Dockerfile ช่วยให้เราสามารถ deploy แอปพลิเคชัน Angular ของเราไปยังสภาพแวดล้อมต่างๆ ได้อย่างรวดเร็วและง่ายดาย