Apache Tomcat هو خادم ويب مفتوح المصدر وحاوية servlet تم تطويره بواسطة مؤسسة Apache Software Foundation (ASF).
يقوم Tomcat بتنفيذ مواصفات Java Servlet وJavaServer Pages من Oracle ويوفر بيئة خادم ويب Java HTTP خالصة لتشغيل تعليمات Java البرمجية.
في هذا البرنامج التعليمي، سوف نتعلم كيفية الجمع بين Docker وTomcat لنشر تطبيق Tomcat 'hello World' باستخدام Tomcat كحاوية.
متطلبات:
لاتباع الإرشادات والتعليمات البرمجية المتوفرة في هذا البرنامج التعليمي واستخدامها بنجاح، تأكد من أن لديك ما يلي:
- تم تثبيت Docker Engine على جهازك المضيف
- تم تثبيت Java JDK على جهازك لاختبار كود Java الخاص بك (اختياري)
- محرر نصوص لتحرير التعليمات البرمجية المصدر وتكوينات Docker
مع استيفاء المتطلبات المحددة، يمكننا المتابعة ومعرفة كيفية نشر تطبيق Tomcat باستخدام Docker.
اسحب صورة Tomcat في Docker
لحسن الحظ، لا نحتاج إلى تكوين صورة أساسية تحتوي على كافة الأدوات اللازمة لتشغيل تطبيق Tomcat. يمكننا ببساطة استخدام صورة Tomcat من Docker Hub.
لسحب الصورة يمكننا تنفيذ الأمر كالتالي:
$ عامل ميناء سحب القط
إنشاء تطبيق Hello World
الخطوة التالية هي إنشاء تطبيق 'Hello World'. ابدأ بإنشاء دليل لتخزين كود المصدر الخاص بك والانتقال إلى الدليل.
$ mkdir مرحبا بالعالم && قرص مضغوط مرحبا بالعالم
داخل الدليل الجذر، قم بإنشاء مجلد webapp وقم بإنشاء مجلد WEB-INF بداخله.
يجب أن تبدو بنية الدليل الخاص بك كما يلي:
مرحبا بالعالم /└── تطبيق الويب
└── معلومات الويب
3 الدلائل, 0 ملفات
بعد ذلك، انتقل إلى دليل WEB-INF وقم بإنشاء ملف 'web.xml' بالرمز التالي:
< التطبيق على شبكة الإنترنت com.xmlns = 'http://xmlns.jcp.org/xml/ns/javaee'
xmlns: xsi = 'http://www.w3.org/2001/XMLSchema-instance'
الحادي عشر: schemaLocation = 'http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd'
إصدار = '4.0' >
< servlet >
< اسم servlet > مرحبا بالعالم اسم servlet >
< فئة بريمج > HelloWorldServlet فئة بريمج >
servlet >
< رسم خرائط servlet >
< اسم servlet > مرحبا بالعالم اسم servlet >
< نمط URL >/ مرحبًا نمط URL >
رسم خرائط servlet >
التطبيق على شبكة الإنترنت >
احفظ الملف وأغلق المحرر.
بالعودة إلى نافذتك الطرفية، قم بإنشاء 'HelloWorldServlet.java' داخل دليل WEB-INF/classes.
$ mkdir الطبقات$ يلمس HelloWorldServlet.java
أضف محتويات التطبيق كما هو موضح في ما يلي:
استيراد javax.servlet.http. * ;
استيراد java.io. * ;
الطبقة العامة HelloWorldServlet تمتد إلى HttpServlet {
الفراغ العام doGet ( طلب HttpServletRequest، استجابة HttpServletResponse )
يلقي ServletException، IOException {
Response.setContentType ( 'نص/أتش تي أم أل' ) ;
طباعة الكاتب خارج = Response.getWriter ( ) ;
println ( '' ) ;
println ( '
println ( '<الجسم>' ) ;
println ( '
مرحبًا بالعالم!
' ) ;println ( '