ฉันเพิ่งเล่นกับ Docker และ QGIS และได้ติดตั้งคอนเทนเนอร์ตามคำแนะนำในบทช่วยสอนนี้
ทุกอย่างใช้งานได้ดีแม้ว่าฉันจะไม่สามารถเชื่อมต่อกับฐานข้อมูล localhost postgres ที่มีข้อมูล GIS ทั้งหมดของฉัน ฉันคิดว่านี้เป็นเพราะฐานข้อมูล Postgres ของฉันไม่ได้กำหนดค่าให้ยอมรับการเชื่อมต่อระยะไกลและได้รับการแก้ไขไฟล์ postgres conf จะอนุญาตให้เชื่อมต่อระยะไกลโดยใช้คำแนะนำในบทความนี้
ฉันยังคงได้รับข้อความแสดงข้อผิดพลาดเมื่อฉันพยายามเชื่อมต่อกับฐานข้อมูลของฉันที่เรียกใช้ QGIS ใน Docker: ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ได้: Connection refused Is the server running on host "localhost" (::1) and accepting TCP/IP connections to port 5433?
เซิร์ฟเวอร์ postgres กำลังทำงานอยู่และฉันได้แก้ไขไฟล์pg_hba.confของฉันเพื่ออนุญาตการเชื่อมต่อจากช่วงของ ที่อยู่ IP (172.17.0.0/32) ก่อนหน้านี้ฉันเคยสอบถามที่อยู่ IP ของคอนเทนเนอร์นักเทียบท่าโดยใช้docker ps
และแม้ว่าที่อยู่ IP จะเปลี่ยนไป แต่ก็อยู่ในช่วง 172.17.0.x มาโดยตลอด
มีความคิดเห็นว่าทำไมฉันถึงเชื่อมต่อกับฐานข้อมูลนี้ไม่ได้? อาจเป็นสิ่งที่ง่ายมากที่ฉันคิด!
ฉันใช้ Ubuntu 14.04; Postgres 9.3
pg_hba.conf
เป็นที่อยู่ที่คุณแนะนำ แต่ยังคงได้รับข้อความแสดงข้อผิดพลาดการเชื่อมต่อเหมือนเดิมหลังจากหยุดและเริ่มบริการ postgres ใหม่ ฉันได้เพิ่มบรรทัดภายใต้การเชื่อมต่อ ipv4 ของฉัน - มีที่อื่นฉันควรจะเพิ่มที่อยู่ที่คุณแนะนำหรือไม่? หรือในแอพ QGIS ของฉันที่ทำงานใน Docker ฉันจำเป็นต้องเปลี่ยนข้อมูลการเชื่อมต่อ postgres หรือไม่ ตัวอย่างเช่นหากฉันเชื่อมต่อจากภายในคอนเทนเนอร์นักเทียบท่าโฮสต์จะยังคงเป็น "localhost" อยู่หรือไม่