گولانگ ایپلیکیشن ڈوکر کنٹینر کے طور پر چلانے کے لیے

Gwlang Ayplykyshn Wkr Kn Ynr K Twr Pr Chlan K Ly



اس ٹیوٹوریل میں، ہم ڈوکر کنٹینر کے طور پر چلانے کے لیے گولانگ ایپلی کیشن ترتیب دے کر کنٹینرائزنگ کی بنیادی باتیں سیکھنے جا رہے ہیں۔ ہم اپنی درخواست کے لیے تمام تقاضوں کو ترتیب دینے کے لیے ایک Dockerfile کے ساتھ کام کرنے کا طریقہ سیکھیں گے۔

گو ایک اوپن سورس، جامد طور پر ٹائپ شدہ، اور مرتب کردہ پروگرامنگ لینگویج ہے جو ایک سادہ، قابل اعتماد، اور انتہائی موثر سافٹ ویئر کی ترقی میں سہولت فراہم کرنے کی اپنی صلاحیت کے لیے مشہور ہے۔ یہ ویب ایپس، کلاؤڈ-نیٹیو سلوشنز، کمانڈ لائن انٹرفیس (CLIs) سمیت متنوع ایپلی کیشنز کو تیار کرنے میں افادیت تلاش کرتا ہے، اور دلچسپ بات یہ ہے کہ گو کا استعمال کرتے ہوئے خود ڈوکر بھی تیار کیا گیا ہے۔

ہمارے معاملے میں، ہم Go میں ایک سادہ HTTP سرور بناتے ہیں جو ہمیں یہ ظاہر کرنے کی اجازت دیتا ہے کہ سادہ مراحل میں ایپلیکیشن کو کیسے بنایا جائے اور اسے Dockerize کیا جائے۔







تقاضے:

اس ٹیوٹوریل کے ساتھ چلنے کے لیے، آپ کو درج ذیل ٹولز کی ضرورت ہے:



  1. انسٹال کردہ گو کمپائلر (ورژن 1.21 اور اس سے اوپر درکار ہے)
  2. آپ کی میزبان مشین پر ڈوکر انجن چل رہا ہے۔
  3. گو ایپلیکیشن میں ترمیم کرنے کے لیے ایک IDE یا ٹیکسٹ ایڈیٹر۔ ہم بصری اسٹوڈیو یا Vim استعمال کرنے کی تجویز کرتے ہیں۔
  4. کمانڈ لائن مترجم جیسے Bash، ZSH، PowerShell، وغیرہ۔

دی گئی ضروریات کو پورا کرنے کے ساتھ، آئیے آگے بڑھیں اور ایپلیکیشن بنانے کا طریقہ سیکھیں۔



درخواست کی تعمیر

اگلا مرحلہ ہماری ایپلیکیشن بنانا ہے۔ ہمارے معاملے میں، ہم ایک سادہ HTTP سرور بناتے ہیں جو ایک سادہ پیغام کے ساتھ جواب دیتا ہے۔





گو پروجیکٹ کو اسٹور کرنے کے لیے ایک ڈائرکٹری بنا کر شروع کریں۔ آپ کوئی بھی موزوں نام فراہم کر سکتے ہیں۔

$ mkdir go_server

ڈائرکٹری میں جائیں اور سورس کوڈ کو اسٹور کرنے کے لیے ایک نئی فائل بنائیں۔ ہمارے معاملے میں، ہم 'main.go' فائل کو کہتے ہیں جو اس بات کی نشاندہی کرتی ہے کہ فائل گو سورس کوڈ ہے۔



$ چھو main.go

آخر میں، فائل میں ترمیم کریں اور ایپلیکیشن میں سورس کوڈ شامل کریں جیسا کہ درج ذیل میں دکھایا گیا ہے:

اہم پیکیج

درآمد (
'fmt'
'net/http'
)

فنک مین ( ) {
// آنے والی درخواستوں کو ہینڈل کریں۔
http.HandleFunc ( '/' , func ( میں http.ResponseWriter، r * http.Request ) {
// کلائنٹ کو جواب لکھیں۔
fmt.Fprintf ( میں ، 'ڈوکر سے (:' )
} )

// پورٹ پر HTTP سرور شروع کریں۔ 8080
fmt.Println ( 'سرور چل رہا ہے: 8080' )
http.ListenAndServe ( ': 8080' ، صفر )
}

پچھلی ایپلیکیشن ایک بنیادی HTTP سرور بناتی ہے جو پورٹ 8080 سے منسلک ہوتا ہے۔ سرور ایک بنیادی پیغام کے ساتھ جواب دیتا ہے جیسا کہ پہلے بیان کیا گیا ہے۔

درخواست کی جانچ کرنا

اس سے پہلے کہ ہم ایپلیکیشن کو ڈوکرائز کریں، آئیے اس بات کو یقینی بنائیں کہ ایپ ٹھیک سے کام کر رہی ہے۔ درج ذیل کمانڈ کو چلائیں:

$ جاؤ main.go چلائیں

پچھلی کمانڈ ایپلیکیشن کو شروع کرتی ہے اور پیغام کو اس طرح واپس کرتی ہے:

سرور چل رہا ہے: 8080

اگلا، HTTP سرور کو جانچنے کے لیے، آپ 'curl' کمانڈ کو اس طرح چلا سکتے ہیں:

$ curl http: // localhost: 8080 /

پچھلی کمانڈ کو اس طرح پیغام واپس کرنا چاہئے:

ڈوکر سے ( : %

اب ہم آگے بڑھ سکتے ہیں اور پچھلی ایپلیکیشن کو ڈوکرائز کر سکتے ہیں جیسا کہ اگلے مراحل میں بیان کیا گیا ہے۔

درخواست کو کنٹینر کرنا

اگلے اقدامات درخواست کے لیے کنٹینر بنانے کے طریقہ پر بحث کر رہے ہیں۔ ہم پروجیکٹ ڈائرکٹری میں Dockerfile بنا کر شروع کرتے ہیں۔

$ سی ڈی go_server

بغیر کسی توسیع کے Dockerfile نامی ایک فائل بنائیں اور ٹیکسٹ ایڈیٹر کے ساتھ فائل میں ترمیم کریں۔ یہ فائل ہمیں اپنی درخواست کے لیے درج ذیل تمام تقاضوں کی وضاحت کرنے کی اجازت دیتی ہے۔

$ چھو ڈاکر فائل
$ کیونکہ ڈاکر فائل

مندرجہ ذیل ترتیب کو شامل کریں:

گولانگ سے: 1.21

ورکڈائر / ایپ

کاپی کریں .

RUN go build main.go -او مرکزی .

بے نقاب 8080

سی ایم ڈی [ './مرکزی' ]

پچھلی ڈاکر فائل میں، ہم درخواست کے لیے پچھلے آپریشنز کی وضاحت کرتے ہیں۔

  • بنیادی تصویر کو سرکاری گولانگ امیج ورژن 1.21 پر سیٹ کریں۔
  • کنٹینر کے اندر کام کرنے والی ڈائرکٹری کو '/app' میں ترتیب دیں۔
  • ہم پوری پروجیکٹ ڈائرکٹری کو کنٹینر میں کاپی کرتے ہیں۔
  • کنٹینر کے اندر گو ایپلیکیشن بنائیں۔
  • آنے والی HTTP ٹریفک کی اجازت دینے کے لیے پورٹ 8080 کو بے نقاب کریں۔
  • گو ایپلیکیشن چلانے کے لیے کمانڈ سیٹ کریں۔

ڈوکر امیج بنانا

ایپلیکیشن کے لیے امیج بنانے کے لیے، ٹرمینل کھولیں اور پروجیکٹ ڈائرکٹری پر جائیں۔ اگلا، تصویر بنانے کے لیے درج ذیل کمانڈ کو چلائیں:

$ sudo ڈاکر کی تعمیر -t go_server_docker

go_server_docker کو اس نام سے تبدیل کریں جسے آپ ایپ کی تصویر تفویض کرنا چاہتے ہیں۔

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

$ ڈاکر رن -p 8080 : 8080 go_server_docker

پچھلی کمانڈ کو پورٹ 8080 کو میزبان مشین سے کنٹینر کے اندر پورٹ 8080 تک نقشہ بنانا چاہئے۔

کنٹینر کی جانچ کرنے کے لیے، درج ذیل کمانڈ کو چلائیں:

$ curl http: // localhost: 8080

اس سے وہ پیغام پرنٹ ہونا چاہیے جو ایپلیکیشن میں بیان کیا گیا ہے۔

نتیجہ

اس ٹیوٹوریل میں، ہم نے سیکھا کہ ایک بنیادی گو ایپلیکیشن کیسے بنائی جاتی ہے۔ ہم نے یہ بھی سیکھا کہ ڈوکر فائل میں تقاضوں کی وضاحت کرکے، کنٹینر سے امیج بنانا، اور امیج سے کنٹینر چلا کر ایپلیکیشن کو کنٹینرائز کرنا ہے۔