نشر تطبيق 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" أوامر shell المعطاة. في هذا المثال ، سيتم تنزيل rpm-release rpm وتثبيته ، وتثبيت nodejs و npm من المستودع الخاص به. بعد العملية التالية ، سيتم إدخال القرص المضغوط في دليل المشروع وتشغيله 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

نشر Kubernetes مع Kubeadm على CentOS 7

نشر Kubernetes مع Kubeadm على CentOS 7

نظرة عامة تهدف هذه المقالة إلى مساعدتك في إنشاء مجموعة Kubernetes وتشغيلها باستخدام kubeadm في لمح البصر. سيقوم هذا الدليل بنشر خادمين في

نشر تطبيق PHP باستخدام Docker-compose

نشر تطبيق PHP باستخدام Docker-compose

عادة ما تتكون تطبيقات PHP من خادم ويب ونظام قاعدة بيانات علائقية ومترجم لغة نفسه. في هذا البرنامج التعليمي سنكون leveragin

قم بتثبيت Docker CE على Ubuntu 18.04

قم بتثبيت Docker CE على Ubuntu 18.04

مقدمة Docker هو تطبيق يسمح لنا بنشر البرامج التي يتم تشغيلها كحاويات. وقد كتب بلغة البرمجة Go الشهيرة

نشر وإدارة حاويات LXC بأمان على Ubuntu 14.04

نشر وإدارة حاويات LXC بأمان على Ubuntu 14.04

حاويات LXC (حاويات Linux) هي إحدى ميزات نظام التشغيل في Linux والتي يمكن استخدامها لتشغيل العديد من أنظمة Linux المعزولة على مضيف واحد. هذه

ابدأ مع Kubernetes على CentOS 7

ابدأ مع Kubernetes على CentOS 7

Kubernetes هو نظام أساسي مفتوح المصدر تم تطويره بواسطة Google لإدارة التطبيقات في حاويات عبر مجموعة من الخوادم. إنه يبني على عقد و

قم بتثبيت Rancher على Ubuntu 16.04

قم بتثبيت Rancher على Ubuntu 16.04

استخدام نظام مختلف؟ مقدمة Rancher هي منصة مفتوحة المصدر لتشغيل الحاويات وبناء خدمة حاويات خاصة. رانشر هو القاعدة

تثبيت Docker-compose على CoreOS

تثبيت Docker-compose على CoreOS

تشرح هذه المقالة كيفية تثبيت Docker-compose على CoreOS. في CoreOS ، المجلد / usr / غير قابل للتغيير بحيث لا يتو��ر المسار القياسي / usr / local / bin

على CoreOS ، قم بإعداد سجل Docker الخاص بك

على CoreOS ، قم بإعداد سجل Docker الخاص بك

نعلم جميعًا ونحب Docker ، وهي منصة لإنشاء وإدارة وتوزيع حاويات التطبيقات عبر أجهزة متعددة. تقدم شركة Docker Inc. خدمة ر

قم بتثبيت Rancher على CentOS 7

قم بتثبيت Rancher على CentOS 7

استخدام نظام مختلف؟ مقدمة Rancher هي منصة مفتوحة المصدر لتشغيل الحاويات وبناء خدمة حاويات خاصة. رانشر هو القاعدة

جلسة مثبتة مع سرب Docker (CE) على CentOS 7

جلسة مثبتة مع سرب Docker (CE) على CentOS 7

استخدام نظام مختلف؟ مقدمة يحول Docker Swarm خوادمك الفردية إلى مجموعة من أجهزة الكمبيوتر ، مما يسهل القياس والتوافر العالي

تثبيت Docker على CentOS 7

تثبيت Docker على CentOS 7

استخدام نظام مختلف؟ Docker هو تطبيق يسمح بنشر البرامج داخل حاويات افتراضية. تمت كتابته في برنامج Go

قم بتثبيت Rancher Server على RancherOS

قم بتثبيت Rancher Server على RancherOS

نظرة عامة RancherOS هو نظام تشغيل خفيف الوزن بشكل لا يصدق (حوالي 60 ميجا بايت فقط) يقوم بتشغيل برنامج Docker daemon باسم PID 0 لتشغيل خدمات النظام

جلسة مثبتة مع Docker Swarm (CE) على دبيان 9

جلسة مثبتة مع Docker Swarm (CE) على دبيان 9

استخدام نظام مختلف؟ مقدمة يحول Docker Swarm خوادمك الفردية إلى مجموعة من أجهزة الكمبيوتر ؛ تسهيل التوسع ، وتوافر عالية

كيفية استخدام Docker: إنشاء أول حاوية Docker

كيفية استخدام Docker: إنشاء أول حاوية Docker

يوضح هذا البرنامج التعليمي أساسيات البدء مع Docker. أفترض أن لديك Docker مثبتة بالفعل. ستعمل الخطوات في هذا البرنامج التعليمي على

موازنة التحميل مع عامل الميناء

موازنة التحميل مع عامل الميناء

عند تشغيل تطبيق ويب ، تحتاج عادةً إلى تحقيق أقصى استفادة من مواردك دون الحاجة إلى تحويل البرنامج الخاص بك لاستخدام مؤشرات متعددة

ابدأ مع SQL Server 2017 (MS-SQL) على CentOS 7 مع Docker

ابدأ مع SQL Server 2017 (MS-SQL) على CentOS 7 مع Docker

المتطلبات الأساسية محرك Docker 1.8+. 4 جيجابايت على الأقل من مساحة القرص. 4 غيغابايت على الأقل من ذاكرة الوصول العشوائي. الخطوة 1. تثبيت Docker من أجل تثبيت SQL-Server ، Docker mus

تثبيت Docker CE على دبيان 9

تثبيت Docker CE على دبيان 9

استخدام نظام مختلف؟ مقدمة Docker هو تطبيق يسمح بنشر البرامج داخل حاويات افتراضية. هو مكتوب في G

تثبيت Docker على Ubuntu 14.04

تثبيت Docker على Ubuntu 14.04

استخدام نظام مختلف؟ Docker هو تطبيق يسمح بنشر البرامج التي يتم تشغيلها كحاويات. وقد كتب في برنامج Go الشهير

إنشاء سرب Docker على Alpine Linux 3.9.0

إنشاء سرب Docker على Alpine Linux 3.9.0

مقدمة سيوضح لك هذا الدليل كيفية إنشاء وتكوين سرب Docker باستخدام عدة خوادم Alpine Linux 3.9.0 و Portainer. يرجى الانتباه إلى ذلك

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد