डॉकर और टॉमकैट को मिलाएं

Dokara Aura Tomakaita Ko Mila Em



अपाचे टॉमकैट अपाचे सॉफ्टवेयर फाउंडेशन (एएसएफ) द्वारा विकसित एक ओपन-सोर्स वेब सर्वर और सर्वलेट कंटेनर है।

टॉमकैट ओरेकल से जावा सर्वलेट और जावासर्वर पेज विनिर्देशों को लागू करता है और यह जावा कोड को चलाने के लिए एक शुद्ध जावा HTTP वेब सर्वर वातावरण प्रदान करता है।







इस ट्यूटोरियल में, हम सीखेंगे कि टॉमकैट को कंटेनर के रूप में उपयोग करके टॉमकैट 'हैलो वर्ल्ड' एप्लिकेशन को तैनात करने के लिए डॉकर और टॉमकैट को कैसे संयोजित किया जाए।



आवश्यकताएं:

इस ट्यूटोरियल में दिए गए निर्देशों और कोड का सफलतापूर्वक पालन करने और उपयोग करने के लिए, सुनिश्चित करें कि आपके पास निम्नलिखित हैं:



    1. आपकी होस्ट मशीन पर डॉकर इंजन स्थापित किया गया
    2. आपके जावा कोड का परीक्षण करने के लिए आपकी मशीन पर जावा जेडीके स्थापित किया गया है (वैकल्पिक)
    3. स्रोत कोड और डॉकर कॉन्फ़िगरेशन को संपादित करने के लिए एक टेक्स्ट एडिटर

दी गई आवश्यकताओं को पूरा करने के बाद, हम आगे बढ़ सकते हैं और सीख सकते हैं कि डॉकर का उपयोग करके टॉमकैट ऐप को कैसे तैनात किया जाए।





डॉकर में टॉमकैट छवि खींचें

सौभाग्य से, हमें एक आधार छवि को कॉन्फ़िगर करने की आवश्यकता नहीं है जिसमें टॉमकैट एप्लिकेशन को चलाने के लिए सभी उपकरण शामिल हों। हम बस डॉकर हब से टॉमकैट छवि का उपयोग कर सकते हैं।

छवि खींचने के लिए, हम निम्नानुसार कमांड चला सकते हैं:



$ डॉकर पुल टॉमकैट


एक हेलो वर्ल्ड एप्लिकेशन बनाएं

अगला कदम 'हैलो वर्ल्ड' एप्लिकेशन बनाना है। अपने स्रोत कोड को संग्रहीत करने और निर्देशिका में नेविगेट करने के लिए एक निर्देशिका बनाकर प्रारंभ करें।

$ mkdir हैलो वर्ल्ड && सीडी हैलो वर्ल्ड


रूट डायरेक्टरी के अंदर, एक वेबएप फ़ोल्डर बनाएं और उसके अंदर एक WEB-INF फ़ोल्डर बनाएं।

आपकी निर्देशिका संरचना इस तरह दिखनी चाहिए:

हैलो वर्ल्ड /
└── वेबएप
└── वेब-आईएनएफ

3 निर्देशिकाएँ, 0 फ़ाइलें


इसके बाद, WEB-INF निर्देशिका में नेविगेट करें और निम्नलिखित कोड के साथ एक 'web.xml' फ़ाइल बनाएं:

< ?xml संस्करण = '1.0' एन्कोडिंग = 'यूटीएफ-8' ? >
< वेब अप्प xmlns = 'http://xmlns.jcp.org/xml/ns/javaee'
एक्सएमएलएनएस: xsi = 'http://www.w3.org/2001/XMLSchema-instance'
एक्सएसआई: स्कीमास्थान = 'http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd'
संस्करण = '4.0' >
< सर्वलेट >
< सर्वलेट-नाम > हैलो वर्ल्ड सर्वलेट-नाम >
< सर्वलेट-क्लास > हेलोवर्ल्ड सर्वलेट सर्वलेट-क्लास >
सर्वलेट >
< सर्वलेट-मैपिंग >
< सर्वलेट-नाम > हैलो वर्ल्ड सर्वलेट-नाम >
< यूआरएल-पैटर्न >/ नमस्ते यूआरएल-पैटर्न >
सर्वलेट-मैपिंग >
वेब अप्प >


फ़ाइल सहेजें और संपादक बंद करें.

अपने टर्मिनल विंडो में वापस, WEB-INF/classes निर्देशिका के अंदर एक 'HelloWorldServlet.java' बनाएं।

$ mkdir कक्षाओं
$ छूना HelloWorldServlet.java


एप्लिकेशन की सामग्री जोड़ें जैसा कि निम्नलिखित में दिखाया गया है:

javax.servlet आयात करें। * ;
javax.servlet.http आयात करें। * ;
java.io आयात करें। * ;

पब्लिक क्लास HelloWorldServlet HttpServlet का विस्तार करता है {
सार्वजनिक शून्य doGet ( HttpServletRequest अनुरोध, HttpServletResponse प्रतिक्रिया )
सर्वलेटएक्सेप्शन, IOException फेंकता है {
प्रतिक्रिया.setContentType ( 'पाठ/एचटीएमएल' ) ;
प्रिंटराइटर आउट = प्रतिक्रिया.गेटराइटर ( ) ;
आउट.प्रिंटएलएन ( '<एचटीएमएल>' ) ;
आउट.प्रिंटएलएन ( 'हैलो वर्ल्ड सर्वलेट' ) ;
आउट.प्रिंटएलएन ( '<शरीर>' ) ;
आउट.प्रिंटएलएन ( '

हैलो, विश्व!

'
) ;
आउट.प्रिंटएलएन ( '' ) ;
}
}


यह एक बुनियादी टॉमकैट सर्वलेट सेट करता है जो 'हैलो वर्ल्ड' प्रिंट करता है।



डॉकरफ़ाइल को परिभाषित करें

हमारे लिए अगला कदम एक कस्टम छवि बनाने के लिए डॉकरफाइल को परिभाषित करना है जिसमें हमारा 'हैलो वर्ल्ड' ऐप शामिल है।

रूट डायरेक्टरी के अंदर, 'डॉकरफाइल' नामक एक नई फ़ाइल बनाएं:







$ छूना ~ / हैलो वर्ल्ड / Dockerfile


फ़ाइल को संपादित करें और निम्नानुसार कॉन्फ़िगरेशन जोड़ें:

# टॉमकैट बेस इमेज सेट करें
टॉमकैट से: नवीनतम

# हैलो वर्ल्ड एप्लिकेशन को टॉमकैट वेबएप्स डायरेक्टरी में कॉपी करें
कॉपी करें। / वेब अप्प / यूएसआर / स्थानीय / बिल्ला / वेब ऐप्लिकेशन / myapp
# टॉमकैट के लिए पोर्ट 8080 को एक्सपोज़ करें
अनावृत करना 8080


आपके पास निर्देशिका लेआउट इस प्रकार होना चाहिए:

हैलो वर्ल्ड
├── डॉकरफ़ाइल
└── वेबएप
└── वेब-आईएनएफ
├── कक्षाएं
│   └── HelloWorldServlet.java
└── web.xml

4 निर्देशिकाएँ, 3 फ़ाइलें

छवि बनाएँ

इसके बाद, हम कस्टम टॉमकैट छवि बनाते हैं जैसा कि निम्नलिखित कमांड में दिखाया गया है:

$ डोकर निर्माण -टी टॉमकैट-ऐप।


कंटेनर चलाएँ

एक बार जब हमारे पास छवि तैयार हो जाती है, तो हम निम्नानुसार कमांड का उपयोग करके छवि से कंटेनर चला सकते हैं:

$ डॉकर रन -डी -पी 8080 : 8080 --नाम टॉमकैट-कंटेनर टॉमकैट-ऐप


इसे टॉमकैट-ऐप छवि से टॉमकैट कंटेनर बनाना चाहिए जिसे हमने पिछले चरण में बनाया था और इसे होस्ट मशीन पर पोर्ट 8080 से बांधना चाहिए।

एप्लिकेशन तक पहुंचें

एक वेब ब्राउज़र खोलें और नेविगेट करें . आपको 'हैलो, वर्ल्ड!' देखना चाहिए। आपके ब्राउज़र में संदेश प्रदर्शित होता है.

निष्कर्ष

बधाई हो! आपने डॉकराइज़्ड टॉमकैट कंटेनर में 'हैलो वर्ल्ड' एप्लिकेशन को सफलतापूर्वक तैनात किया है।