Docker اور Tomcat کو یکجا کریں۔

Docker Awr Tomcat Kw Ykja Kry



Apache Tomcat ایک اوپن سورس ویب سرور اور سرولیٹ کنٹینر ہے جسے Apache Software Foundation (ASF) نے تیار کیا ہے۔

Tomcat جاوا سرولیٹ اور جاوا سرور صفحات کی وضاحتیں اوریکل سے لاگو کرتا ہے اور یہ جاوا کوڈ کو چلانے کے لیے خالص جاوا HTTP ویب سرور ماحول فراہم کرتا ہے۔







اس ٹیوٹوریل میں، ہم سیکھیں گے کہ Tomcat کو بطور کنٹینر استعمال کرتے ہوئے Tomcat 'hello world' ایپلی کیشن کو تعینات کرنے کے لیے Docker اور Tomcat کو کیسے ملایا جائے۔



تقاضے:

اس ٹیوٹوریل میں فراہم کردہ ہدایات اور کوڈ کو کامیابی سے عمل کرنے اور استعمال کرنے کے لیے، یقینی بنائیں کہ آپ کے پاس درج ذیل ہیں:



    1. آپ کی میزبان مشین پر ڈوکر انجن انسٹال ہے۔
    2. آپ کے جاوا کوڈ کو جانچنے کے لیے اپنی مشین پر جاوا JDK انسٹال کیا (اختیاری)
    3. سورس کوڈ اور ڈوکر کنفیگریشنز میں ترمیم کرنے کے لیے ایک ٹیکسٹ ایڈیٹر

دی گئی ضروریات کو پورا کرنے کے ساتھ، ہم آگے بڑھ سکتے ہیں اور سیکھ سکتے ہیں کہ Docker کا استعمال کرتے ہوئے Tomcat ایپ کو کیسے تعینات کیا جائے۔





ڈوکر میں ٹامکیٹ امیج کو کھینچیں۔

خوش قسمتی سے، ہمیں بیس امیج کو ترتیب دینے کی ضرورت نہیں ہے جس میں ٹامکیٹ ایپلیکیشن چلانے کے لیے تمام ٹولز موجود ہوں۔ ہم Docker Hub سے Tomcat امیج کو آسانی سے استعمال کر سکتے ہیں۔

تصویر کھینچنے کے لیے، ہم کمانڈ کو اس طرح چلا سکتے ہیں:



$ ڈاکر پل ٹامکیٹ


ہیلو ورلڈ ایپلی کیشن بنائیں

اگلا مرحلہ 'Hello World' ایپلیکیشن بنانا ہے۔ اپنے سورس کوڈ کو اسٹور کرنے اور ڈائرکٹری میں نیویگیٹ کرنے کے لیے ایک ڈائرکٹری بنا کر شروع کریں۔

$ mkdir ہیلو_دنیا && سی ڈی ہیلو_دنیا


روٹ ڈائرکٹری کے اندر، ایک ویب ایپ فولڈر بنائیں اور اس کے اندر ایک WEB-INF فولڈر بنائیں۔

آپ کی ڈائرکٹری کا ڈھانچہ اس طرح نظر آنا چاہئے:

ہیلو_دنیا /
└── ویب ایپ
└── WEB-INF

3 ڈائریکٹریز، 0 فائلوں


اس کے بعد، WEB-INF ڈائریکٹری میں جائیں اور درج ذیل کوڈ کے ساتھ ایک 'web.xml' فائل بنائیں:

< xml ورژن = '1.0' انکوڈنگ = 'UTF-8' ? >
< ویب ایپ xmlns = 'http://xmlns.jcp.org/xml/ns/javaee'
xmlns: xsi = 'http://www.w3.org/2001/XMLSchema-instance'
xsi: سکیم لوکیشن = '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 جواب )
ServletException، IOException پھینک دیتا ہے۔ {
response.setContentType ( 'متن/html' ) ;
پرنٹ رائٹر آؤٹ = response.getWriter ( ) ;
out.println ( '' ) ;
out.println ( 'Hello World Servlet' ) ;
out.println ( ' ' ) ;
out.println ( '

ہیلو، ورلڈ!

'
) ;
out.println ( '' ) ;
}
}


یہ ایک بنیادی Tomcat servlet مرتب کرتا ہے جو 'Hello world' پرنٹ کرتا ہے۔



Dockerfile کی وضاحت کریں۔

ہمارے لیے اگلا مرحلہ ایک اپنی مرضی کی تصویر بنانے کے لیے Dockerfile کی وضاحت کرنا ہے جس میں ہماری 'Hello World' ایپ شامل ہو۔

روٹ ڈائرکٹری کے اندر، 'Dockerfile' نامی ایک نئی فائل بنائیں:







$ چھو ~ / ہیلو_دنیا / ڈاکر فائل


فائل میں ترمیم کریں اور کنفیگریشن کو اس طرح شامل کریں:

# ٹامکیٹ بیس امیج سیٹ کریں۔
ٹام کیٹ سے: تازہ ترین

# ہیلو ورلڈ ایپلیکیشن کو ٹامکیٹ ویب ایپس ڈائرکٹری میں کاپی کریں۔
کاپی کریں / webapp / usr / مقامی / ٹامکیٹ / ویب ایپس / myapp
# Tomcat کے لئے پورٹ 8080 کو بے نقاب کریں۔
بے نقاب 8080


آپ کے پاس ڈائرکٹری کی ترتیب مندرجہ ذیل ہونی چاہئے:

ہیلو_دنیا
├── ڈاکر فائل
└── ویب ایپ
└── WEB-INF
├── کلاسز
│   └── HelloWorldServlet.java
└── web.xml

4 ڈائریکٹریز، 3 فائلوں

تصویر بنائیں

اگلا، ہم حسب ضرورت ٹامکیٹ امیج بناتے ہیں جیسا کہ درج ذیل کمانڈ میں دکھایا گیا ہے۔

$ ڈاکر کی تعمیر -t tomcat-app


کنٹینر چلائیں۔

ایک بار جب ہمارے پاس امیج تیار ہو جائے تو ہم مندرجہ ذیل کمانڈ کا استعمال کرتے ہوئے امیج سے کنٹینر چلا سکتے ہیں۔

$ ڈاکر رن -d -p 8080 : 8080 --نام tomcat-container tomcat-app


اس سے Tomcat-app امیج سے Tomcat کنٹینر بنانا چاہیے جسے ہم نے پچھلے مرحلے میں بنایا تھا اور اسے میزبان مشین پر پورٹ 8080 سے باندھنا چاہیے۔

درخواست تک رسائی حاصل کریں۔

ایک ویب براؤزر کھولیں اور تشریف لے جائیں۔ . آپ کو 'ہیلو، ورلڈ!' دیکھنا چاہئے! پیغام آپ کے براؤزر میں ظاہر ہوتا ہے۔

نتیجہ

مبارک ہو! آپ نے کامیابی کے ساتھ 'Hello World' ایپلیکیشن کو Dockerized Tomcat کنٹینر میں تعینات کیا۔