تشغيل Discourse مع pg_bouncer وقاعدة بيانات منفصلة

أحاول إعداد مثيل Discourse الخاص بنا للاتصال بقاعدة بيانات Postgres منفصلة مستضافة على Azure (كما هو موضح هنا) عبر pg_bouncer، وأواجه مشكلات.

يتم استضافة Discourse لدينا على جهاز افتراضي في Azure. قمت بتثبيت pg_bouncer عليه وتكوينه، وتمكنت من التحقق من قدرتي على الاتصال بقاعدة البيانات المستضافة من الجهاز الافتراضي عبر:

psql -h 127.0.0.1 -p 5432 -U [username] -d [database]

في ملف app.yml الخاص بي، غيّرت من استخدام اسم المضيف لقاعدة البيانات إلى استخدام 127.0.0.1:

DISCOURSE_DB_HOST: [كان اسم المضيف، جربت 127.0.0.1]

عند إعادة بناء التطبيق، حصلت على الخطأ التالي:

I, [2020-09-18T20:48:51.653890 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
rake aborted!
PG::ConnectionBad: could not connect to server: Connection refused
	Is the server running on host "127.0.0.1" and accepting
	TCP/IP connections on port 5432?

أفكر فقط في أن الشيء الوحيد المختلف بين كيفية اتصالي عبر psql وإعداد ملف app.yml الخاص بي هو وجود كلمة مرور محددة في app.yml ليست ضرورية في psql لأنها مُعدة في قائمة مستخدمين pg_bouncer.

أي مساعدة ستكون موضع تقدير.

أعتقد أنك ستحتاج إلى استخدام عنوان IP يمكن للحاوية الوصول إليه. أعتقد أن لها مضيفًا محليًا خاصًا بها.

أوه، طبعًا! باستخدام عنوان 10.x.x.x الخاص بي، يعمل الأمر بشكل ممتاز.

الآن، قد لا تكون هذه هي الحل الأمثل، لذا إذا كان هناك طريقة مفضلة للوصول إلى المضيف من حاوية Discourse Docker، فأنا مستعد للاستماع.

شكرًا لك!