كيفية السماح لحاويات عامل الميناء برؤية بعضها البعض باسمها?

لدي مثيل مونغو يعمل في حاوية اسمه mongo1 التي كشفت المنفذ 27017. يمكنني الاتصال على ما يرام من المضيف.

لدي حاوية أخرى تقوم بتشغيل تطبيق يريد الاتصال بمثيل مونغو.

كيف يمكنني توصيل الحاويات 2 بحيث اسم المضيف mongo1 يتعرض للحاوية الأخرى ويمكن الاتصال به mongo1:27017 ?

ما كان يحدث هو أن شبكة عامل الميناء الافتراضية لا تسمح name >> DNS رسم الخرائط.

يمكن للحاويات الموجودة على شبكة الجسر الافتراضية الوصول إلى بعضها البعض فقط عن طريق عناوين إب ، إلا إذا كنت تستخدم خيار link لينك ، الذي يعتبر إرثا. على شبكة جسر المعرفة من قبل المستخدم ، يمكن للحاويات حل بعضها البعض بالاسم أو الاسم المستعار.

لذلك أنا خلقت شبكة جديدة:

docker network create -d bridge br0

ثم أضاف الحاويات إلى تلك الشبكة:

docker network connect br0 mongo1docker network connect br0 wiki

الآن يمكنهم رؤية بعضهم البعض باسمهم.

للحاويات الموجودة (كحل مؤقت)

docker inspect <mango_container_name> | grep IPAddress

و إديت / إضافة /etc/hosts داخل الحاوية

docker exec -it -u 0 <app_container_name> bash

ثم من داخل الحاوية خريطة حاوية_اسم مع عنوان إب .. مثال

echo "172.15.0.5 mango1" >> /etc/hostsexit

.......
أو يمكنك تعيين اسم المضيف للحاوية أثناء الدوران مع

docker run -it -h mango1 mango_image

و / أو إضافة مثال echo "172.17.0.5 mango1" >> /etc/hosts الأمر في ملفات عامل الميناء لأقل الصداع

حاول الربط بين مفهوم الحاوية