1. مقدمة
قد يكون هناك بعض الطلاب الذين لا يفهمون مشروع Docker. Docker مكتوب بلغة GO. إنه مشروع تكنولوجيا افتراضي خفيف الوزن يتم نشره بسرعة. يسمح للمطورين بتعبئة برامجهم وتشغيل البيئات معًا وجعلها في صورة Docker (Mirror). وبهذه الطريقة ، نشرها على الخادم. تحتاج فقط إلى تنزيل هذه الصورة لتشغيل البرنامج ، وتجنب متاعب تثبيت مختلف التبعيات والبيئات في كل مرة ، وكذلك تحقيق العزلة بين التطبيقات.
2. إدراك التحضير
سأقوم أولاً بإنشاء تطبيق ويب Node.js بسيط لإنشاء مرآة. ثم قم بتشغيل حاوية بناءً على هذه الصورة. هذا يتيح النشر السريع.
بسبب أسباب الشبكة ، تم تنزيل صورة Node.js من مكتبة الصور المحلية ، وليس Docker Hub.
دعنا أولاً نسحب صورة NodeJS من موقع Minive Mirror.
Docker Pull Hub.C.163.com/nce2/nodejs:0.12.2
بعد التنزيل ، تحقق من صورتنا وابحث عن اسمها. سوف نستخدمه لاحقًا.
3. إنشاء برنامج Node.js
إنشاء package.json وكتابة المعلومات والتبعيات ذات الصلة
السادس باقة
{"name": "WebTest" ، "الإصدار": "1.0.0" ، "الوصف": "node.js على docker" ، "المؤلف": "lpxxn" ، "main":إنشاء server.js
VI Server.js
اكتب أبسط الويب يعتمد هذا الويب على إطار عمل Express ويعيد Hello Word. لاحظ أننا نستمع إلى المنفذ 8888
"استخدام صارم" ؛ var expression = require ('express') ؛ var port = 8888 ؛ var app = express () ؛ app.get ('/' ، function (req ، res) {res.send ('hello world/n') ؛}) ؛ app.listen (port) ؛ console.log ('تشغيل على http: // localhost:' + port) ؛4. إنشاء dockerfile
بعد ذلك ، يأخذ بطل الرواية المسرح لإنشاء ملف dockerfile. هذا الملف هو ملف ضروري لإنشاء الصورة.
السادس دوكرفيل
سوف يقوم Docker ببناء صورة وفقًا لمحتويات Dockerfile. سأعطي الرمز الكامل أولاً ، ثم أشرحه واحدًا حسب سطر واحد
من hub.c.163.com/nce2/nodejs:0.12.2# إنشاء تطبيق App Directoryrun MKDIR -P/Home/ServiceWorkdir/Home/Service# Bundle App Sourcecopy. /Home/Servicerun NPM Installexpose 8888cmd ["NPM" ، "start"]
دعنا نوضح الجملة من الجملة
من hub.c.163.com/nce2/nodejs:0.12.2
من هي الصورة المصدر الأساسية لبناء الصورة. hub.c.163.com/nce2/nodejs:0.12.2 هو اسم الصورة ، وهي الصورة التي سحبناها من الخادم المحلي في البداية. إذا لم يكن هناك Docker محليًا ، فسوف يسحب الصورة نفسها.
# إنشاء تطبيق App DirectoryRun MKDIR -P /Home /ServiceWorkdir /Home /Service
يتم استخدام تشغيل الجملة الأولى لإنشاء مجلد في الصورة وسيتم استخدامه لحفظ الكود لدينا في المستقبل.
الجملة الثانية ، Workdir ، هي استخدام المجلد الذي أنشأناه كدليل عمل.
# حزمة التطبيق sourcecopy. /Home/Servicerun NPM تثبيت
تتمثل نسخة الجملة الأولى في نسخ جميع الملفات في الدليل الحالي للجهاز إلى مجلد /المنزل /الخدمة في Image.
يستخدم الجملة الثانية تشغيل NPM لتثبيت جميع التبعيات المطلوبة لتطبيقنا.
فضح 8888
نظرًا لأن تطبيق الويب الخاص بنا يستمع إلى المنفذ 8888 ، فإننا نعرض هذا المنفذ للمضيف حتى أتمكن من الوصول إلى الويب من الخارج.
CMD ["NPM" ، "ابدأ"]
أعتقد أنه يمكنني معرفة ما يفعله دون شرح ذلك. قم بتشغيل أمر npm start ، وسيقوم هذا الأمر بتشغيل Node Service.js
ابدأ تطبيق الويب الخاص بنا.
5. بناء الصورة
قم بتشغيل الأمر التالي في الدليل حيث يوجد DockerFile لإنشاء صورة.
Docker Build -T Mynodeapp.
لا تنس النقطة الأخيرة
بعد البناء ، تحقق من صورتنا
6. قم بتشغيل المرآة
Docker Run -D -P 8888: 8888 AC5
يشير D إلى أن الحاوية ستعمل في الخلفية ، -P تشير إلى تعيين المنافذ ، قم بتخطيط منتجات 8888 من الجهاز المحلي إلى منفذ 8888 للحاوية بحيث يمكن للشبكة الخارجية الوصول إلى الويب لدينا من خلال منتجات 8888 من الجهاز المحلي.
AC5 وراء هو معرف الصورة لدينا. نظرًا لأن أول 3 يمكن أن يحدد موقع هذه الصورة بالفعل ، لم أكتب ما يلي.
تحقق من معرف الحاوية التي ركضناها للتو عبر Docker PS
طباعة سجل 7370 هو معرف الحاوية لدينا. تمامًا مثل معرف الصورة ، يمكنك كتابة كل شيء. أنا كسول وأكتب أول 4 أرقام ، وهو ما يكفي لتحديد هذه الحاوية.
سجلات Docker 7350
إذا كنت تفكر في الأوامر التالية في الحاوية ، فيمكنك العمل على Linux العادي بعد إدخالها. إذا كنت ترغب في الخروج ، يمكنك تنفيذ أمر الخروج.
7. اختبار
دعنا نتحقق أولاً مما إذا كان بإمكاننا الوصول إلى الويب الخاص بنا من خلال حليقة.
Curl -i localhost: 8888
يمكنك أيضًا التحقق من ذلك من خلال المتصفح
8. ملخص
حسنًا ، هذا البرنامج التعليمي قد انتهى هنا. هل تعلمت ذلك؟ آمل أن تساعدك هذه المقالة في البدء. إذا كان لديك أي أسئلة أو أسئلة ، فيمكنك ترك رسالة للتواصل. شكرا لك على دعمك إلى wulin.com.