जब आप इस तरह के पोर्ट को बाइंड करते हैं '9002:6379'
आप डॉकर को localhost:9002
. से ट्रैफ़िक अग्रेषित करने के लिए कह रहे हैं -> redis:6379
. इसलिए यह आपके होस्ट मशीन से काम करता है:
redis-cli -h localhost -p 9002 -n 0
हालांकि, जब कंटेनर एक दूसरे से बात करते हैं, तो वे सभी डिफ़ॉल्ट रूप से एक ही नेटवर्क से जुड़े होते हैं (डॉकर ब्रिज या docker0
) डिफ़ॉल्ट रूप से, कंटेनर एक दूसरे के साथ स्वतंत्र रूप से संचार कर सकते हैं इस नेटवर्क पर, बिना किसी पोर्ट को खोले। इस नेटवर्क में, आपका redis
कंटेनर अपने सामान्य पोर्ट पर ट्रैफ़िक सुन रहा है (6379
), मेजबान बिल्कुल शामिल नहीं है। इसलिए आपका कंटेनर से कंटेनर संचार 6379
. पर काम करता है ।