English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

تشغيل مشروع JavaWeb المبنى في Docker باستخدام Dockerfile

سنتحدث في هذا المقال عن كيفية تحويل مشروع Java Web الذي تم مناقشته في المقال السابق إلى صورة Docker. يعتقد المحرر أن هذا ممتاز، ونشاركه معكم الآن كمرجع. دعونا نتبع المحرر ونرى.

يتم تشغيل التطبيق في حاوية Docker بنفس المبدأ الذي يتم تشغيله على الجهاز الفعلي، لذا يجب أن تكون الخطوات التالية لتشغيل مشروع Java Web هذا في Docker كما يلي:

  • دعم الخادم (اختر هنا CentOS7)
  • تثبيت بيئة Java
  • تثبيت بيئة Tomcat
  • حذف جميع ملفات (المجلدات) في مجلد webapps/ROOT في مجلد Tomcat الجذر
  • نسخ جميع ملفات (المجلدات) في مجلد WebRoot لمشروع الويب الخاص بك إلى webapps/ROOT في Tomcat
  • إطلاق خدمة Tomcat

الخطوات واضحة للغاية، ولكن لصنع صورة Docker، تحتاج إلى شيء آخر: Dockerfile.

Dockerfile هو ملف يحتوي على أوامر خاصة يمكن أن يتعرف عليها Docker. عند إنشاء ملف Dockerfile، يمكنك استخدام docker build لإنشاء صورة Docker.

بدء بناء صورة Docker

  • إنشاء دليل webapp للمثال هذا
  • نسخ WebRoot المشروع إلى هذا الدليل
  • إنشاء ملف Dockerfile

الشريحة كما يلي:

شريحة بناء صورة Docker

إنشاء الصورة

docker build -t "zsl131/web01" .

ملاحظة:

docker build: إنشاء صورة Docker

-t "zsl131/web01": تحديد اسم الصورة، هنا يتم تحديد zsl131/web01؛ يتكون اسم الصورة من جزأين: المستودع والاسم، zsl131 هو اسم المستودع الذي قمت بإنشائه في hub.docker.com، وweb01 هو اسم الصورة نفسها

.: لاحظ أن هناك مسافة في البداية، مما يعني البحث عن ملف Dockerfile في الدليل الحالي لبناء الصورة.

هذا مثال يحتوي على Dockerfile الذي يتم استخدامه لإنشاء صورة Docker، يمكنك إزالة جميع الأوامر في هذا الملف وإضافة سطر جديد كل مرة: docker build -t "zsl131/web01" .، بهذا الشكل يمكنك رؤية المعلومات المختلفة التي يتم عرضها عند بناء الصورة باستخدام Dockerfile:

# از CentOS7 به عنوان تصویر پایه استفاده کنید
FROM centos:7
# در صورت عدم اطلاع از نصب JDK می‌توانید از دستور زیر استفاده کنید و سپس مستقیماً docker build را اجرا کنید:
#RUN yum search java | grep jdk
# نسخه JDK مناسب را انتخاب کنید
RUN yum install -y java-1.7.0-openjdk.x86_64
# یک پوشه به نام web در ریشه ایجاد کنید
RUN mkdir /web/
# مسیر کاری را به /web تنظیم کنید، پس از تنظیم می‌توانید از: RUN pwd برای مشاهده مسیر فعلی استفاده کنید
WORKDIR /web/
# wget نصب کنید تا بتوانید Tomcat را دانلود کنید
RUN yum install -y wget
# فایل فشرده‌شده Tomcat را دانلود کنید
RUN wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-6/v6.0.48/bin/apache-tomcat-6.0.48.tar.gz
# فایل‌های Tomcat را استخراج کنید
RUN tar zxvf apache-tomcat-6.0.48.tar.gz
# مسیر ابزارها را تنظیم کنید
WORKDIR /web/apache-tomcat-6.0.48/webapps/ROOT/
# لیست کنید تا ببینید فایل‌ها و پوشه‌های موجود در مسیر فعلی کدام‌ها هستند، اینجا برخی از فایل‌های پیش‌فرض Tomcat وجود دارند
RUN ls -l
# تمام فایل‌ها و پوشه‌های موجود در مسیر فعلی را حذف کنید
RUN rm -rf *
# بعد از حذف مجدد لیست کنید، اینجا هیچ فایلی وجود ندارد
RUN ls -l
# تمام فایل‌ها و پوشه‌های موجود در پوشه WebRoot را به مسیر فعلی کپی کنید (webapps/ROOT)، می‌توانید از دستور COPY نیز استفاده کنید
ADD WebRoot .
# پس از تکمیل کپی‌برداری می‌توانید لیست کنید تا ببینید آیا کپی‌برداری با موفقیت انجام شده است
RUN ls -l
# مسیر کاری را به پوشه bin Tomcat تنظیم کنید، تا بتوانید به راحتی سرویس Tomcat را راه‌اندازی کنید
WORKDIR /web/apache-tomcat-6.0.48/bin/
# درگاه 8080 Tomcat را به بیرون آورده شود
EXPOSE 8080
# قدمت بندی سرویس Tomcat، این راه‌اندازی در زمان docker run تحت پوشش قرار نمی‌گیرد
ENTRYPOINT ["./catalina.sh", "run"]

بعد تکمیل نوشتن Dockerfile، در نهایت از دستور زیر برای ساخت تصویر استفاده کنید:

docker build -t "zsl131/web01" .

يمكنك عرض الصور التي تم بناؤها حديثًا باستخدام الأمر docker images.

تشغيل القارن

docker run -d --name web01 -p 80:8080 zsl131/web01

شرح:

docker run: أمر تشغيل القارن

-d: تشغيل في الخلفية

--name web01: تعيين اسم القارن كـ web01

-p 80:8080: تحديد منفذ التعرض الخارجي كـ 80، أي عند الوصول إلى منفذ 80 من الخارج، سيتم توجيهه إلى منفذ 8080 في الداخل

zsl131/web01: اسم الصورة

عرض سجلات بدء القارن

docker logs web01

شرح:

docker logs: أمر عرض سجلات القارن

web01: اسم القارن المطلوب التحقق منه، هنا web01

زيارة

افتح المتصفح واكتب: http://192.168.99.100 للوصول إلى مشروع Java Web الذي أنشأته MyEclipse.

ملاحظة: 192.168.99.100 هو عنوان IP لمضيف docker الخاص بي، يمكنك التحقق من ذلك باستخدام الأمر docker-machine inspect test01، حيث test01 هو اسم مضيف docker.

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

بيان: محتوى هذا المقال تم جمعه من الإنترنت، ويتمتع المالك الأصلي بحقوق الطبع والنشر، ويتم جمع المحتوى من قبل المستخدمين عبر الإنترنت بشكل تلقائي، ويتم إدراجه في هذا الموقع دون امتلاك حقوق الملكية، ولا يتم تعديل المحتوى بشكل يدوي، ولا يتحمل الموقع أي مسؤولية قانونية ذات صلة. إذا كنت قد وجدت محتوى يشتبه في انتهاك حقوق النسخ والتقليد، فيرجى إرسال بريد إلكتروني إلى: notice#oldtoolbag.com (عند إرسال البريد الإلكتروني، يرجى استبدال # ب @) لإبلاغنا، وقدم الأدلة ذات الصلة، وسيتم حذف المحتوى المشبوه الذي تم الكشف عن انتهاك حقوق النسخ والتقليد على الفور.

أنت قد تحب