ปรับใช้แอปพลิเคชัน Node.js โดยใช้ Docker

บทความนี้จะแสดงวิธีการปรับใช้แอปพลิเคชั่น Node ของคุณภายในคอนเทนเนอร์ Docker

หมายเหตุ: บทช่วยสอนนี้ถือว่าคุณได้ติดตั้ง Docker และพร้อมใช้งานแล้ว

ขั้นตอนที่ 1: สร้างแอปพลิเคชันโหนดของคุณ

srcสร้างไดเรกทอรีที่เรียกว่า เราจะใช้ไดเรกทอรีนั้น สร้างไฟล์ชื่อsrc/package.jsonที่มีต่อไปนี้:

{
  "name": "hello_world",
  "private": true,
  "version": "0.0.1",
  "description": "Hello world Example",
  "author": "",
  "dependencies": {
        "express": "3.2.4"
   }
}

ตอนนี้สร้างsrc/index.jsที่มีต่อไปนี้:

var express = require('express');
var app = express();
app.get('/', function (req, res) {
    res.send('Hello from Docker\n');
});

app.listen(8080);
console.log('Running on http://localhost:8080');

โปรดทราบว่าคุณสามารถเปลี่ยนพอร์ต8080เป็นอะไรก็ได้ที่คุณต้องการ แต่สำหรับตัวอย่างนี้เราจะเปิดเผยพอร์ตนี้ให้ใช้สำหรับแอปพลิเคชันของเรา เมื่อคุณสร้างไฟล์ทั้งสองนี้แล้วคุณสามารถไปยังขั้นตอนถัดไปได้

ขั้นตอนที่ 2: สร้างไฟล์ Dockerfile

"Dockerfile" ช่วยให้คุณสามารถสร้างและปรับใช้อิมเมจ Docker ตามชุดคำสั่งที่คุณให้ไว้ สร้างชื่อไฟล์Dockerfileและเติมด้วยเนื้อหาต่อไปนี้:

FROM centos:latest
MAINTAINER Name Here <username@localhost>
RUN rpm -Uvh http://mirror.pnl.gov/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
RUN yum install nodejs npm -y 
COPY ./src /opt/src
RUN cd /opt/src; npm install
EXPOSE 8080
CMD ["node", "/opt/src/index.js"]

คำอธิบาย:

FROM centos:latest

centosนี้จะใช้ภาพที่เรียกว่า หากไม่มีอิมเมจในโฮสต์ของคุณ Docker จะดึงรูปหนึ่งออกจากที่เก็บ

MAINTAINER Name Here <username@localhost>

คำแนะนำนี้ช่วยให้คุณตั้งค่าผู้สร้างสำหรับภาพที่ถูกสร้างขึ้น

RUN rpm -Uvh http://mirror.pnl.gov/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
RUN yum install nodejs npm -y
…
RUN cd /opt/src; npm install

"RUN" จะดำเนินการคำสั่งเชลล์ที่กำหนด ในตัวอย่างนี้มันจะดาวน์โหลด epel-release rpm และติดตั้งและติดตั้ง nodejs และ npm จากที่เก็บ หลังจากการดำเนินการครั้งต่อไปมันจะ cd ลงในไดเรกทอรีโครงการและเรียกใช้npm installเพื่อติดตั้งการอ้างอิงสำหรับแอปพลิเคชันของคุณ

COPY ./src /opt/src

คัดลอกไดเรกทอรี (และไฟล์) จากโฮสต์ไปยังคอนเทนเนอร์

EXPOSE 8080

เปิดพอร์ต 8080 สำหรับโลกภายนอกที่จะใช้

CMD ["node", "/opt/src/index.js"]

CMD จะให้การดำเนินการเริ่มต้นสำหรับคอนเทนเนอร์

เมื่อคุณสร้างไฟล์ตามที่แสดงข้างต้นคุณสามารถดำเนินการในขั้นตอนต่อไป

ขั้นตอนที่ 3: สร้างภาพ

เพื่อสร้างภาพของคุณเรียกใช้คำสั่งต่อไปนี้:

docker build -t name/application .

name/applicationนี้จะสร้างภาพที่มีชื่อที่เก็บของ หากไม่มีข้อผิดพลาดคุณสามารถไปยังขั้นตอนถัดไป

ขั้นตอนที่ 4: ปรับใช้และทดสอบแอปพลิเคชัน

ตอนนี้ทุกอย่างได้รับการตั้งค่าแล้วคุณสามารถเรียกใช้ภาพของคุณได้โดยการเรียกใช้สิ่งต่อไปนี้

docker run -p 49160:8080 -d name/application

ในการทดสอบแอปพลิเคชันของคุณให้เรียกใช้คำสั่งต่อไปนี้จากโฮสต์:

curl http://172.17.42.1:49160/ 

หากคุณเห็นHello from Dockerคุณได้ปรับใช้อิมเมจ Docker เรียบร้อยแล้ว หากคุณต้องการทดสอบสิ่งนี้ด้วยเบราว์เซอร์ของคุณโปรดไปที่http://[SERVER_IP]:49160จากภายในเบราว์เซอร์ของคุณ (แทนที่ที่อยู่ IP ตามนั้น) และคุณจะเห็นข้อความเดียวกัน

ฝากความเห็น

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true