आपका DATABASE_URL
127.0.0.1
. को संदर्भित करता है , जो लूपबैक अडैप्टर है (अधिक यहाँ)। इसका मतलब है "खुद से जुड़ें"।
एक ही होस्ट पर दोनों एप्लिकेशन (डॉकर का उपयोग किए बिना) चलाते समय, वे दोनों एक ही एडेप्टर (जिसे localhost
के रूप में भी जाना जाता है) पर एड्रेस करने योग्य होते हैं। )।
कंटेनरों में दोनों एप्लिकेशन चलाते समय वे दोनों पहले की तरह लोकलहोस्ट पर नहीं होते हैं। इसके बजाय आपको web
. को इंगित करना होगा कंटेनर से db
docker0
. पर कंटेनर का IP पता एडेप्टर - जो docker-compose
आपके लिए सेट।
बदलें:
127.0.0.1
करने के लिए CONTAINER_NAME
(उदा. db
)
उदाहरण:
DATABASE_URL: postgres://username:[email protected]:5432/mydatabase
करने के लिए
DATABASE_URL: postgres://username:[email protected]:5432/mydatabase
यह डॉकर लिंक के लिए धन्यवाद काम करता है:web
कंटेनर में एक फ़ाइल होती है (/etc/hosts
) एक db
. के साथ IP की ओर इशारा करते हुए प्रविष्टि कि db
कंटेनर चालू है। यह पहला स्थान है जहां एक सिस्टम (इस मामले में, कंटेनर) होस्टनामों को हल करने का प्रयास करते समय दिखेगा।