किसी अन्य कंटेनर से एक MySQL कंटेनर से कनेक्ट करना
आपने MySQL चलाने वाला एक डॉकर कंटेनर सेट किया है और पोर्ट 3306 को उजागर किया है, लेकिन ऐसा कैसे हो सकता है आप उस डेटाबेस को किसी अन्य कंटेनर से एक्सेस करते हैं?
आईपी का उपयोग कर रहे हैं पता
प्रारंभ में, आपने MySQL कंटेनर के आईपी पते (172.17.0.2) का उपयोग करके कनेक्ट करने का प्रयास किया। हालांकि यह काम करता है, यह आदर्श नहीं है क्योंकि आईपी पते बदल सकते हैं।
उपयोगकर्ता-परिभाषित नेटवर्क
कंटेनरों को जोड़ने के लिए उपयोगकर्ता-परिभाषित नेटवर्क का उपयोग करना एक बेहतर तरीका है। आप एक नेटवर्क बना सकते हैं और उसमें MySQL और PHP दोनों कंटेनर संलग्न कर सकते हैं। वही नेटवर्क, --नेटवर्क फ़्लैग का उपयोग करके नेटवर्क नाम प्रदान करता है:
docker network create my_network
उस नेटवर्क पर कंटेनर के भीतर, आप कंटेनर नामों को हल कर सकते हैं और होस्टनाम का उपयोग करके कनेक्ट कर सकते हैं। उदाहरण के लिए, PHP कंटेनर से, आप MySQL से कनेक्ट कर सकते हैं:$mysqli = new mysqli('mysql_container', 'mattia', 'prova', 'prova');
निष्कर्ष
docker run -d --name php_container --network my_network my_php_image docker run -d --name mysql_container --network my_network my_mysql_image
उपयोगकर्ता-परिभाषित नेटवर्क डॉकर में कंटेनरों को जोड़ने के लिए अधिक मजबूत और लचीला तरीका प्रदान करते हैं। होस्टनाम के रूप में कंटेनर नामों का उपयोग करना पहुंच को सरल बनाता है और आईपी पते पर भरोसा करने की आवश्यकता को समाप्त करता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3