node js ตัวอย่าง docker image

นี่คือตัวอย่างการสร้าง Docker image สำหรับแอปพลิเคชัน Node.js:

  1. สร้างโปรเจค Node.js:

    ก่อนอื่นคุณควรมีโปรเจค Node.js ของคุณพร้อมแล้ว สามารถสร้างโปรเจคใหม่หรือใช้โปรเจคที่มีอยู่ก็ได้.

  2. สร้างไฟล์ 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.
  3. สร้าง Docker image:

    เปิดเทอมินัล (Terminal) และเข้าไปในไดเร็คทอรีที่มี Dockerfile และใช้คำสั่ง Docker เพื่อสร้าง Docker image:

    1
    docker build -t my-nodejs-app .

    my-nodejs-app คือชื่อ Docker image ที่คุณต้องการให้มี จะต้องเป็นชื่อที่ไม่ซ้ำกับ Docker images อื่น ๆ ที่มีอยู่.

  4. รัน 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 ตามความต้องการของโปรเจคของคุณ.