PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

डॉकरीकृत ऐप से डॉकटर में पोस्टग्रेज सर्वर से कनेक्ट नहीं हो सका

बस यूज़र-डिफ़ाइंड ब्रिज नेटवर्किंग का उपयोग करें। सबसे पहले, डॉकर में विभिन्न प्रकार के नेटवर्क का संक्षिप्त विवरण पढ़कर अपने ज्ञान का लाभ उठाएं:https://docs.docker.com/network/bridge/

दूसरा, अपना खुद का नेटवर्क परिभाषित करें

docker network create foo

इसके बाद, अपने कंटेनर कनेक्टेड run चलाएं इस नेटवर्क के लिए:

docker run --rm --env-file /path/to/variables -d --network foo django_app:test
docker run --rm -d ... --network foo postgres:alpine ...

दोनों कमांड में नोटिस --network foo . साथ ही आपको जरूरत नहीं है इस मामले में बंदरगाहों को उजागर करने के लिए - उपयोगकर्ता द्वारा परिभाषित नेटवर्क के अंदर यह स्वचालित रूप से किया जाता है:

<ब्लॉककोट>

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

तीसरा, अपने कंटेनरों को --name bar . के साथ मानव पठनीय होस्ट नाम दें

docker run ... --network foo --name my-django django_app:test ...
docker run ... --network foo --name my-postgres postgres:alpine ...

और अंत में कनेक्शन स्ट्रिंग को ठीक करें - localhost . से बदलें कंटेनर नाम के लिए, जैसे my-postgres :

...
POSTGRES_HOST=my-postgres
...


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कई सेलेक्ट स्टेटमेंट्स को मिलाएं

  2. मॉडलिंग और सामान्य करते समय अशक्त मूल्यों के साथ क्या करें?

  3. पोस्टग्रेज:CAST विफलताओं के लिए एक डिफ़ॉल्ट मान परिभाषित करें?

  4. मैं अपने हरोकू पोस्टग्रेज डेटाबेस में एक .sql फ़ाइल कैसे आयात कर सकता हूं?

  5. प्राथमिक कुंजी को अनदेखा करते हुए PostgreSQL में डुप्लिकेट पंक्तियों को खोजने के 7 तरीके