پوسٹ جی آئی ایس سرور کو ڈوکر کنٹینر کے طور پر چلائیں۔

Pws Jy Ayy Ays Srwr Kw Wkr Kn Ynr K Twr Pr Chlayy



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

پوسٹ جی آئی ایس پوسٹگری ایس کیو ایل ڈیٹا بیس کی توسیع ہے جو جغرافیائی ڈیٹا آبجیکٹ کے لیے سپورٹ شامل کرتی ہے۔ یہ ہمیں مقامی ڈیٹا کو ذخیرہ کرنے اور استفسار کرنے کے لیے PostgreSQL ڈیٹا بیس کا استعمال کرنے کی اجازت دیتا ہے۔ جیسا کہ آپ اندازہ لگا سکتے ہیں، پوسٹ جی آئی ایس اور ڈوکر کو ملانا ایک مقامی ڈیٹا کو منظم کرنے کا ایک موثر اور وسیع طریقہ فراہم کرتا ہے۔

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







تقاضے:

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



  1. آپ کے سسٹم پر ڈوکر انجن انسٹال ہے۔ آپ اپنے ٹارگٹ سسٹم پر ڈوکر کو انسٹال کرنے کے طریقہ سے متعلق ہمارے ٹیوٹوریلز کو دیکھ سکتے ہیں۔
  2. PostgreSQL اور مقامی ڈیٹا کا بنیادی علم

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



ڈاکر میں پوسٹ جی آئی ایس چلائیں۔

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





$docker پل پوسٹگیس/پوسٹگیس

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



$ docker run --name postgis-server -e POSTGRES_PASSWORD =password -d -p 5432:5432 postgis/postgis

دی گئی کمانڈ میں، ہم درج ذیل پیرامیٹرز کی وضاحت کرتے ہیں:

  1. -نام - یہ ہمیں کنٹینر کا نام بتانے کی اجازت دیتا ہے۔
  2. -e - یہ ہمیں PostgreSQL پاس ورڈ کو ماحولیاتی متغیر کے طور پر سیٹ کرنے کی اجازت دیتا ہے۔ یہ وہ پاس ورڈ ہے جو پوسٹگریس صارف کے لیے استعمال ہوتا ہے۔
  3. -d - یہ ڈوکر کو کنٹینر کو بیک گراؤنڈ یا ڈیٹیچڈ موڈ میں چلانے کے لیے کہتا ہے۔
  4. -p 5432:5432 - یہ ہمیں کنٹینر کے اندر موجود پورٹ 5432 کو پورٹ 5432 پر میزبان سے نقشہ بنانے کی اجازت دیتا ہے۔

اس بات کی تصدیق کرنے کے لیے کہ کنٹینر چل رہا ہے، درج ذیل کمانڈ کا استعمال کریں:

$ docker ps

آپ کو پوسٹ جی آئی ایس کنٹینر درج دیکھنا چاہئے۔

پوسٹ جی آئی ایس میں مقامی ڈیٹا لوڈ کریں۔

اب جب کہ ہمارے پاس PostGIS کنٹینر چل رہا ہے، ہم مختلف ٹولز اور فارمیٹ جیسے GeoJSON، CSV وغیرہ کا استعمال کرتے ہوئے مقامی ڈیٹا لوڈ کر سکتے ہیں۔

اس صورت میں، ہم شیفائل کا استعمال کرتے ہیں جیسا کہ درج ذیل کمانڈز میں دکھایا گیا ہے۔

$mkdir -p ~/data
$cd ~/ڈیٹا
wget https://www.naturalearthdata.com/http//www.naturalearthdata.com/download/110m/cultural/ne_110m_admin_0_countries.zip
$ unzip ne_110m_admin_0_countries.zip

دی گئی کمانڈز میں، ہم اس ڈیٹا کو ذخیرہ کرنے کے لیے ایک ڈائرکٹری بنا کر شروع کرتے ہیں جسے ہم لوڈ کرنا چاہتے ہیں۔ پھر ہم مخصوص لنک سے جیو ڈیٹا ڈاؤن لوڈ کرتے ہیں اور اسے ڈائرکٹری میں نکالتے ہیں۔

اگلا مرحلہ ڈیٹا کو ڈیٹا بیس میں لوڈ کرنا ہے۔ ہم مندرجہ ذیل کمانڈ کا استعمال کرتے ہوئے PostgreSQL ڈیٹا بیس سے جڑ کر شروع کرتے ہیں۔

$docker exec -it postgis-server psql -U postgres -d postgres

اگر پاس ورڈ کے لیے کہا جائے تو وہ پاس ورڈ فراہم کریں جو آپ نے کنٹینر چلاتے وقت کنفیگر کیا تھا۔ یہ آپ کی تصدیق کرے گا اور آپ کو PostgreSQL شیل میں چھوڑ دے گا۔

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

postgres=# shp2pgsql -I -s 4326 ne_110m_admin_0_countries | psql -U postgres -d postgres

پچھلی کمانڈ میں، ہم مقامی ڈیٹا کی تیز تر استفسار کے لیے ایک مقامی انڈیکس بنانے کے لیے -I اختیار استعمال کرتے ہیں۔ ہم -s پیرامیٹر کا استعمال کرتے ہوئے کوآرڈینیٹ سسٹم کو 4326 کے طور پر بھی بتاتے ہیں۔ EPSG:4326 WGS 84 کے لیے معیاری کوآرڈینیٹ اسٹیٹ سسٹم ہے۔

پوسٹ جی آئی ایس استفسار کا ڈیٹا

ڈیٹا کو لوڈ کرنے کے بعد، ہم '\q' کمانڈ چلا کر یا باہر نکل کر PSQL یوٹیلیٹی سے باہر نکل سکتے ہیں۔

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

$docker exec -it postgis-container psql -U postgres -d postgres

اگلا، آپ اس بات کی تصدیق کرنے کے لیے بنیادی مقامی سوالات چلا سکتے ہیں کہ آپ کے پاس ڈیٹا محفوظ ہے۔

نتیجہ

اس ٹیوٹوریل میں، آپ نے پوسٹ جی آئی ایس سرور کو ڈاکر کنٹینر کے طور پر چلانے اور ڈیٹا کو ڈیٹا بیس میں لوڈ کرنے کا طریقہ سیکھا۔