ปรับใช้แอปพลิเคชัน 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 ตามนั้น) และคุณจะเห็นข้อความเดียวกัน



Leave a Comment

ติดตั้ง Rancher OS ผ่าน iPXE

ติดตั้ง Rancher OS ผ่าน iPXE

Rancher OS คือการกระจาย Linux ที่เบามากซึ่งสร้างขึ้นรอบ ๆ Docker ระบบปฏิบัติการมีน้ำหนักประมาณ 20MB บทช่วยสอนนี้จะทำให้คุณพร้อมใช้งาน

ติดตั้ง Docker CE บน Ubuntu 18.04

ติดตั้ง Docker CE บน Ubuntu 18.04

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

ปรับใช้แอปพลิเคชัน PHP โดยใช้ Docker-compose

ปรับใช้แอปพลิเคชัน PHP โดยใช้ Docker-compose

แอปพลิเคชัน PHP มักประกอบด้วยเว็บเซิร์ฟเวอร์ระบบฐานข้อมูลเชิงสัมพันธ์และล่ามภาษาเอง ในบทช่วยสอนนี้เราจะเป็นผู้ใช้ประโยชน์

วิธีการติดตั้งฮาร์เบอร์บน CentOS 7

วิธีการติดตั้งฮาร์เบอร์บน CentOS 7

Harbour เป็นเซิร์ฟเวอร์รีจิสตรีระดับองค์กรโอเพนซอร์ซที่จัดเก็บและกระจายอิมเมจ Docker ฮาร์เบอร์ขยายโอเพนซอร์ซ

ติดตั้ง Rancher บน CentOS 7

ติดตั้ง Rancher บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร เกริ่นนำ Rancher เป็นแพลตฟอร์มโอเพ่นซอร์สสำหรับการเรียกใช้คอนเทนเนอร์และสร้างบริการคอนเทนเนอร์ส่วนตัว Rancher เป็นฐาน

การติดตั้ง Docker บน CentOS 7

การติดตั้ง Docker บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร นักเทียบท่าเป็นแอปพลิเคชั่นที่อนุญาตให้มีการปรับใช้ซอฟต์แวร์ภายในคอนเทนเนอร์เสมือน มันถูกเขียนในโปรแกรม Go

ติดตั้ง Rancher บน Ubuntu 16.04

ติดตั้ง Rancher บน Ubuntu 16.04

ใช้ระบบที่แตกต่างกันอย่างไร เกริ่นนำ Rancher เป็นแพลตฟอร์มโอเพ่นซอร์สสำหรับการเรียกใช้คอนเทนเนอร์และสร้างบริการคอนเทนเนอร์ส่วนตัว Rancher เป็นฐาน

ปรับใช้และจัดการคอนเทนเนอร์ LXC อย่างปลอดภัยบน Ubuntu 14.04

ปรับใช้และจัดการคอนเทนเนอร์ LXC อย่างปลอดภัยบน Ubuntu 14.04

คอนเทนเนอร์ LXC (คอนเทนเนอร์ Linux) เป็นคุณลักษณะของระบบปฏิบัติการใน Linux ที่สามารถใช้เพื่อเรียกใช้ระบบ Linux ที่แยกได้หลายตัวในโฮสต์เดียว thes

Sticky Session พร��อม Docker Swarm (CE) บน Debian 9

Sticky Session พร��อม Docker Swarm (CE) บน Debian 9

ใช้ระบบที่แตกต่างกันอย่างไร บทนำ Docker Swarm เปลี่ยนเซิร์ฟเวอร์ส่วนบุคคลของคุณให้กลายเป็นคลัสเตอร์ของคอมพิวเตอร์ อำนวยความสะดวกในการปรับขนาดความพร้อมใช้งานสูง

เครื่องมือจัดการกราฟิกสองตัวของ Docker: DockerUI และอู่ต่อเรือ

เครื่องมือจัดการกราฟิกสองตัวของ Docker: DockerUI และอู่ต่อเรือ

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

การติดตั้ง docker-compose บน CoreOS

การติดตั้ง docker-compose บน CoreOS

บทความนี้จะอธิบายวิธีการติดตั้งนักเทียบท่าบน CoreOS ใน CoreOS นั้นโฟลเดอร์ / usr / จะไม่เปลี่ยนรูปดังนั้นเส้นทาง / usr / local / bin ไม่พร้อมใช้งานสำหรับ

บน CoreOS ให้ตั้งค่า Registry Docker ของคุณเอง

บน CoreOS ให้ตั้งค่า Registry Docker ของคุณเอง

เราทุกคนต่างก็รู้จักและชื่นชอบนักเทียบท่าซึ่งเป็นแพลตฟอร์มในการสร้างจัดการและแจกจ่ายคอนเทนเนอร์ของแอปพลิเคชันในหลาย ๆ เครื่อง Docker Inc. เป็นผู้ให้บริการ

ตั้งค่า Sentry ผ่าน Docker บน Ubuntu 16.04

ตั้งค่า Sentry ผ่าน Docker บน Ubuntu 16.04

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

ปรับใช้ Kubernetes ด้วย Kubeadm บน CentOS 7

ปรับใช้ Kubernetes ด้วย Kubeadm บน CentOS 7

ภาพรวมบทความนี้มีไว้เพื่อช่วยให้คุณได้รับคลัสเตอร์ Kubernetes และทำงานกับ kubeadm ในเวลาไม่นาน คู่มือนี้จะปรับใช้เซิร์ฟเวอร์สองเครื่องในวันที่

ติดตั้ง Rancher Server บน RancherOS

ติดตั้ง Rancher Server บน RancherOS

ภาพรวม RancherOS เป็นระบบปฏิบัติการที่มีน้ำหนักเบาอย่างไม่น่าเชื่อ (เพียงประมาณ 60 MB) ที่เรียกใช้ระบบ Docker daemon เป็น PID 0 สำหรับการเรียกใช้บริการระบบ

Sticky Session กับ Docker Swarm (CE) บน CentOS 7

Sticky Session กับ Docker Swarm (CE) บน CentOS 7

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

วิธีใช้นักเทียบท่า: การสร้างตัวเทียบท่าแรกของคุณ

วิธีใช้นักเทียบท่า: การสร้างตัวเทียบท่าแรกของคุณ

บทช่วยสอนนี้อธิบายพื้นฐานของการเริ่มต้นใช้งาน Docker ฉันคิดว่าคุณได้ติดตั้ง Docker แล้ว ขั้นตอนในบทช่วยสอนนี้จะใช้กับ

โหลดยอดคงเหลือด้วยนักเทียบท่า

โหลดยอดคงเหลือด้วยนักเทียบท่า

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

สร้าง Docker Swarm บน Alpine Linux 3.9.0

สร้าง Docker Swarm บน Alpine Linux 3.9.0

บทนำคู่มือนี้จะแสดงวิธีสร้างและกำหนดค่า Docker Swarm โดยใช้เซิร์ฟเวอร์ Alpine Linux 3.9.0 และ Portainer หลายตัว โปรดระวังด้วย

เริ่มต้นกับ SQL Server 2017 (MS-SQL) บน CentOS 7 พร้อม Docker

เริ่มต้นกับ SQL Server 2017 (MS-SQL) บน CentOS 7 พร้อม Docker

ข้อกำหนดเบื้องต้นเอ็นจิ้น Docker 1.8+ พื้นที่ดิสก์ขั้นต่ำ 4GB RAM ขั้นต่ำ 4GB ขั้นตอนที่ 1 ติดตั้ง Docker เพื่อติดตั้ง SQL-Server, Docker mus

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

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ในขณะที่วิทยาศาสตร์มีวิวัฒนาการไปอย่างรวดเร็ว โดยรับช่วงต่อความพยายามของเราอย่างมาก ความเสี่ยงในการทำให้ตัวเองตกอยู่ในภาวะภาวะเอกฐานที่อธิบายไม่ได้ก็เพิ่มขึ้นเช่นกัน อ่านว่าภาวะเอกฐานอาจมีความหมายสำหรับเราอย่างไร

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

AI ในการดูแลสุขภาพได้ก้าวกระโดดอย่างมากจากทศวรรษที่ผ่านมา ดังนั้นอนาคตของ AI ในการดูแลสุขภาพจึงยังคงเติบโตทุกวัน