PostGIS सर्वर को डॉकर कंटेनर के रूप में चलाएँ

Postgis Sarvara Ko Dokara Kantenara Ke Rupa Mem Cala Em



इसमें कोई संदेह नहीं है कि डॉकर हाल के वर्षों में सबसे व्यापक रूप से उपयोग किए जाने वाले डेवलपर टूल में से एक बन गया है। डॉकर हमें अलग-अलग वातावरण में एप्लिकेशन को विकसित करने, पैकेज करने, शिप करने और चलाने की अनुमति देता है जिसमें एप्लिकेशन को चलाने के लिए आवश्यक सभी निर्भरताएं शामिल होती हैं।

PostGIS, PostgreSQL डेटाबेस का एक विस्तार है जो भौगोलिक डेटा ऑब्जेक्ट के लिए समर्थन जोड़ता है। यह हमें स्थानिक डेटा को संग्रहीत और क्वेरी करने के लिए PostgreSQL डेटाबेस का उपयोग करने की अनुमति देता है। जैसा कि आप अनुमान लगा सकते हैं, PostGIS और Docker का संयोजन स्थानिक डेटा को प्रबंधित करने का एक कुशल और व्यापक तरीका प्रदान करता है।

इस ट्यूटोरियल में, हम सीखेंगे कि हम डॉकर कंटेनर के अंदर पोस्टजीआईएस इंस्टेंस को कैसे जल्दी से सेटअप कर सकते हैं। हम कुछ PostGIS बुनियादी बातों को भी कवर करेंगे और सीखेंगे कि स्थानिक डेटा कैसे लोड करें और कंटेनर का उपयोग करके कुछ बुनियादी क्वेरी कैसे करें।







आवश्यकताएं:

इस ट्यूटोरियल का अनुसरण करने के लिए, सुनिश्चित करें कि आपके पास निम्नलिखित हैं:



  1. आपके सिस्टम पर डॉकर इंजन स्थापित किया गया। आप अपने लक्ष्य सिस्टम पर डॉकर को कैसे स्थापित करें, इस पर हमारे ट्यूटोरियल देख सकते हैं।
  2. PostgreSQL और स्थानिक डेटा का बुनियादी ज्ञान

दी गई आवश्यकताओं को पूरा करने के बाद, हम ट्यूटोरियल के साथ आगे बढ़ सकते हैं।



डॉकर में PostGIS चलाएँ

आइए आगे बढ़ें और PostGIS कंटेनर को सेटअप करें। हम निम्नलिखित कमांड के साथ डॉकर हब से PostGIS कंटेनर को खींचकर शुरू करते हैं:





$ डॉकर पुल पोस्टगिस/पोस्टगिस

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



$ डॉकर रन --नाम पोस्टगिस-सर्वर -ई POSTGRES_PASSWORD =पासवर्ड -डी -पी 5432:5432 पोस्टगिस/पोस्टगिस

दिए गए कमांड में, हम निम्नलिखित पैरामीटर निर्दिष्ट करते हैं:

  1. -नाम - यह हमें कंटेनर का नाम निर्दिष्ट करने की अनुमति देता है।
  2. -ई - यह हमें PostgreSQL पासवर्ड को पर्यावरण चर के रूप में सेट करने की अनुमति देता है। यह वह पासवर्ड है जिसका उपयोग पोस्टग्रेज़ उपयोगकर्ता के लिए किया जाता है।
  3. -डी - यह डॉकर को कंटेनर को बैकग्राउंड या अलग मोड में चलाने के लिए कहता है।
  4. -पी 5432:5432 - यह हमें कंटेनर के अंदर पोर्ट 5432 को पोर्ट 5432 पर होस्ट पर मैप करने की अनुमति देता है।

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

$ डॉकर पी.एस

आपको PostGIS कंटेनर सूचीबद्ध देखना चाहिए।

PostGIS में स्थानिक डेटा लोड करें

अब जब हमारे पास PostGIS कंटेनर चल रहा है, तो हम विभिन्न टूल और प्रारूप जैसे कि जियोसन, सीएसवी, आदि का उपयोग करके स्थानिक डेटा लोड कर सकते हैं।

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

$ mkdir -p ~/डेटा
$ सीडी ~/डेटा
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 पोस्टगिस-सर्वर psql -U पोस्टग्रेज -d पोस्टग्रेज

यदि पासवर्ड के लिए कहा जाए, तो वह पासवर्ड प्रदान करें जिसे आपने कंटेनर चलाते समय कॉन्फ़िगर किया था। यह आपको प्रमाणित करेगा और आपको PostgreSQL शेल में छोड़ देगा।

एक बार डेटाबेस से कनेक्ट होने के बाद, हम पिछले चरणों में निकाले गए शेपफाइल्स से डेटा आयात करने के लिए 'shp2pgsql' उपयोगिता का उपयोग कर सकते हैं।

पोस्टग्रेज=# shp2pgsql -I -s 4326 ne_110m_admin_0_countries | psql -U पोस्टग्रेज -d पोस्टग्रेज

पिछले आदेश में, हम स्थानिक डेटा की तेज़ क्वेरी के लिए एक स्थानिक सूचकांक बनाने के लिए -I विकल्प का उपयोग करते हैं। हम -s पैरामीटर का उपयोग करके समन्वय प्रणाली को 4326 के रूप में भी निर्दिष्ट करते हैं। EPSG:4326 WGS 84 के लिए मानक समन्वय राज्य प्रणाली है।

पोस्टजीआईएस क्वेरी डेटा

एक बार जब हम डेटा लोड कर लेते हैं, तो हम '\q' कमांड चलाकर PSQL उपयोगिता से बाहर निकल सकते हैं या बाहर निकल सकते हैं।

इसके बाद, यह सत्यापित करने के लिए कि हमारे पास डेटा लोड है, हम निम्नलिखित कमांड चलाकर डेटाबेस से पुनः कनेक्ट कर सकते हैं:

$ docker exec -it पोस्टगिस-कंटेनर psql -U पोस्टग्रेज -d पोस्टग्रेज

इसके बाद, आप यह सत्यापित करने के लिए बुनियादी स्थानिक क्वेरी चला सकते हैं कि आपके पास डेटा संग्रहीत है।

निष्कर्ष

इस ट्यूटोरियल में, आपने सीखा कि PostGIS सर्वर को डॉकर कंटेनर के रूप में कैसे चलाया जाए और डेटा को डेटाबेस में कैसे लोड किया जाए।