นี่คือตัวอย่างการสร้าง Docker image สำหรับแอปพลิเคชัน Node.js:
สร้างโปรเจค Node.js:
ก่อนอื่นคุณควรมีโปรเจค Node.js ของคุณพร้อมแล้ว สามารถสร้างโปรเจคใหม่หรือใช้โปรเจคที่มีอยู่ก็ได้.
สร้างไฟล์ Dockerfile:
สร้างไฟล์ที่ชื่อ
Dockerfile
ในรากของโปรเจคของคุณ และเพิ่มเนื้อหาต่อไปนี้:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17# ใช้ Node.js 14.x ในการสร้าง Docker image
FROM node:14
# กําหนดไดเร็คทอรีที่จะใช้เป็นไดเร็คทอรีทํางานใน Docker container
WORKDIR /usr/src/app
# คัดลอกไฟล์ package.json และ package-lock.json ไปยัง Docker container
COPY package*.json ./
# ติดตั้ง dependencies ด้วย npm
RUN npm install
# คัดลอกทั้งหมดไฟล์และโฟลเดอร์จากโปรเจคของคุณไปยัง Docker container
COPY . .
# แสดงคำสั่งที่จะรันแอปพลิเคชันของคุณ
CMD ["node", "app.js"]ในไฟล์ Dockerfile นี้:
- เราใช้ภาพของ Node.js 14 เป็นฐานในการสร้าง Docker image.
- เรากำหนดไดเร็คทอรีที่จะถูกใช้เป็นไดเร็คทอรีทำงานใน Docker container โดยใช้คำสั่ง
WORKDIR
. - เราคัดลอกไฟล์
package.json
และpackage-lock.json
จากโปรเจค Node.js ของคุณเข้าไปใน Docker container และติดตั้ง dependencies ด้วยnpm install
. - เราคัดลอกทั้งหมดไฟล์และโฟลเดอร์จากโปรเจค Node.js ของคุณเข้า Docker container โดยใช้คำสั่ง
COPY
. - สุดท้ายเราใช้คำสั่ง
CMD
เพื่อระบุวิธีการรันแอปพลิเคชัน Node.js ของคุณใน Docker container.
สร้าง Docker image:
เปิดเทอมินัล (Terminal) และเข้าไปในไดเร็คทอรีที่มี Dockerfile และใช้คำสั่ง Docker เพื่อสร้าง Docker image:
1
docker build -t my-nodejs-app .
my-nodejs-app
คือชื่อ Docker image ที่คุณต้องการให้มี จะต้องเป็นชื่อที่ไม่ซ้ำกับ Docker images อื่น ๆ ที่มีอยู่.รัน Docker container จาก Docker image:
เมื่อ Docker image ถูกสร้างเสร็จแล้ว คุณสามารถรัน Docker container จากนั้นได้:
1
docker run -p 3000:3000 my-nodejs-app
my-nodejs-app
คือชื่อ Docker image ที่คุณสร้างในขั้นตอนที่ 3.-p 3000:3000
ใช้ในการแมปพอร์ต 3000 ของ Docker container ไปยังพอร์ต 3000 ของเครื่องของคุณ เพื่อให้คุณสามารถเข้าถึงแอปพลิเคชันผ่านเว็บเบราว์เซอร์.
และนั่นคือตัวอย่างการสร้าง Docker image สำหรับแอปพลิเคชัน Node.js คุณสามารถปรับแต่ง Dockerfile และคำสั่ง Docker ตามความต้องการของโปรเจคของคุณ.