2014-05-18 9 views
7

मैं कई अलग अलग ट्यूटोरियल के साथ-साथ सरकारी एक निम्नलिखित किया गया है लेकिन जब भी मैं एक कंटेनर मैं निम्न संदेश बाद मेंस्थापित कर रहा है PostgreSQL

psql: could not connect to server: No such file or directory 
Is the server running locally and accepting 
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"? 

मैं देखा है पाने के भीतर PostgreSQL स्थापित करने का प्रयास एसओ और इंटरनेट पर कई प्रश्नों के माध्यम से लेकिन कोई भाग्य नहीं है।

उत्तर

4

समस्या यह है कि आपके आवेदन/परियोजना (कंटेनर डोकर नहीं होस्ट मशीन में postgres सॉकेट फ़ाइल तक पहुँचने का प्रयास कर रही है)।

इसे हल करने के लिए एक -p ध्वज का उपयोग करते समय postgres कंटेनर के लिए एक बंदरगाह की स्थापना की, या -v ध्वज का उपयोग होस्ट की मशीन के साथ यूनिक्स सॉकेट साझा करने के लिए स्पष्ट रूप से एक टीसीपी/आईपी कनेक्शन के लिए पूछने के लिए या तो।

: नोट: -v या --volume= ध्वज का उपयोग मतलब है कि आप होस्ट मशीन और डोकर कंटेनर के बीच कुछ जगह साझा कर रहे हैं। इसका मतलब है कि अगर आपके पास अपनी मेजबान मशीन पर पोस्टग्रेर्स स्थापित हैं और इसके चलते आप शायद मुद्दों में भाग लेंगे।

नीचे मैं दिखाता हूं कि एक पोस्टग्रेस कंटेनर कैसे चलाया जाए जो टीसीपी/आईपी और यूनिक्स सॉकेट से सुलभ है। इसके अलावा मैं postgres के रूप में कंटेनर नामकरण कर रहा हूं।

docker run -p 5432:5432 -v /var/run/postgresql:/var/run/postgresql -d --name postgres postgres

अन्य समाधान कर रहे हैं, लेकिन मैं इस एक सबसे उपयुक्त पाते हैं। अंत में यदि एप्लिकेशन/प्रोजेक्ट जिसे एक्सेस की आवश्यकता है, वह भी एक कंटेनर है, तो बस उन्हें लिंक करना बेहतर होता है।

2

यहाँ कि त्रुटि है कि यह भी अपने डोकर कंटेनर के लिए काम करना चाहिए तय करने के लिए निर्देश दिए गए हैं: PostgreSQL error 'Could not connect to server: No such file or directory'

अगर वह किसी भी कारण से काम नहीं करता है, वहाँ ऑफ-द-शेल्फ के कई PostgreSQL डोकर कंटेनर आप देख सकते हैं कर रहे हैं डॉकर इंडेक्स पर संदर्भ के लिए: https://index.docker.io/search?q=postgresql

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

फ्लिन परियोजना भी एक PostgreSQL उपकरण है कि बाहर की जाँच के लायक हो सकता है शामिल किया गया है: https://github.com/flynn/flynn-postgres

+0

धन्यवाद @ टोड्सडैम्पसन लेकिन ऐसा लगता है कि आपके द्वारा लिंक की गई त्रुटि समस्या नहीं है, फिर भी मैंने आपके द्वारा अनुशंसित इंडेक्स से पूर्व-कॉन्फ़िगर की गई छवि का उपयोग करने का निर्णय लिया है। मुझे एहसास हुआ कि मैंने अधिक जानकारी प्रदान नहीं की है, लेकिन क्या आपको शायद संदेह हो सकता है कि इस तरह के व्यवहार का कारण क्या हो सकता है? – Hevlastka

+1

@ हेवलेस्टका मैं उत्सुक हूं: अगर यह उत्तर आपको समाधान प्रदान नहीं करता है, तो आपने इसे क्यों स्वीकार किया? मैं अभी एक ही मुद्दा मार रहा हूं, और यह एक स्वीकार्य उत्तर देखने में थोड़ा निराशाजनक है जो समस्या को हल नहीं करता है। – Mihai

+1

@ मिहाई मैंने इसे एक उत्तर के रूप में स्वीकार कर लिया है क्योंकि इसने मुझे समाधान खोजने के लिए सही रास्ते पर रखा है। यह पता चला कि मैंने जो त्रुटि अनुभव की है वह वास्तव में एक फर्जी है जो इसके पीछे वास्तविक त्रुटि को छुपा रहा है। [आधिकारिक पोस्टग्रेज़ डॉकरफाइल] पर एक नज़र डालें (https://github.com/docker-library/postgres/blob/ed23320582f4ec5b0e5e35c99d98966dacbc6ed8/9.4/Dockerfile)। मेरे मामले में पोस्टग्रेस सर्वर कभी शुरू नहीं हुआ इसलिए मुझे एक कस्टम स्क्रिप्ट बनाना पड़ा जिसे ENTRYPOINT का उपयोग करके बुलाया गया था। – Hevlastka

संबंधित मुद्दे