Docker / دليل حلول تحريري

شبكة الحاوية: تتبّع المستدعي إلى المستمع

افصل النطاق والاسم والمستمع والنشر وسلوك HTTP قبل تغيير الكشف.

وقت القراءة التقريبي: 3 دقيقةتاريخ مراجعة المحتوى

قاعدة معرفة للقراءة فقط · بلا تعليقات عامة

تعرّف على الأعراض

قد يعجز متصفح المضيف أو يتلقى النظير connection refused مع localhost. تختلف مشكلة الاسم والمهلة و HTTP 404، ولا تعني جميعها خطأ جدار.

قد توجد EXPOSE 8080 دون نشر مضيف، أو يستخدم العميل منفذ المضيف كأنه منفذ الخدمة الداخلي.

افهم الأسباب المحتملة

  • للحاوية loopback خاصة؛ فيعني localhost العامل نفسه. EXPOSE بيانات صورة، ويختلف المستمع عن تعيين المضيف.
  • قد تختلف الشبكة أو يقتصر المستمع على loopback أو يخطئ منفذ الهدف، وقد يبطل عنوان محفوظ بعد الاستبدال.

حدد أين يبدأ الطلب

استخدم عقد parcel-api المستمع عند 0.0.0.0:8080 داخل الحاوية. تختلف وجهة المضيف عن النظير. سجل مكان المستدعي والرابط والنقل والخطأ قبل التحرير، ولا توسع الربط لكل الواجهات دون فهم.

text مسارات حركة التدريب المعلنة
Host caller: http://127.0.0.1:18080/
Same-network peer: http://api:8080/
Container listener: 0.0.0.0:8080

تفترض المسارات التعيين والشبكة أدناه وليست نتائج وصول مقاسة. لا يستخدم جهاز بعيد عنوان loopback المضيف كأنه اتصاله بالخدمة.

افحص النشر والعضوية منفصلين

اكتشف الحاويات بالمشروع والسياق المعتمدين وافحص التعيين والعضوية. الأمثلة قراءات غير منفذة. لا يثبت التعيين الصحيح قبول الطلبات. تفترض أسماء المثال مشروع parcel-lab وشبكته الافتراضية.

bash قراءة أدلة التوجيه
docker compose ps --all
docker compose port api 8080
docker network inspect parcel-lab_default

يحدد ps النسخ والحالة ويعرض port النشر ويحدد فحص الشبكة الأطراف. احجب تفاصيل البنية. لا نختلق عنواناً أو معرّفاً أو اتصالاً ولا نغير الجدار أو الشبكة.

طابق إعدادات المنافذ الثلاثة المستقلة

استخدم مستمع 8080 ونشراً محلياً إلى 18080. يخاطب النظير api:8080 لا localhost:18080. يفترض النموذج وجود الصورة ولا يشغلها. إن استمعت العملية على 127.0.0.1 داخل الحاوية فصححها بإجراء مدروس؛ لا يصلحها النشر وحده.

yaml تعيين مضيف صريح للمثال
name: parcel-lab
services:
  api:
    image: parcel-api:lab
    ports:
      - "127.0.0.1:18080:8080"

يخص اليسار المضيف واليمين منفذ الحاوية. لا يتضمن كشفاً خارجياً أو إنهاء TLS ولا يتطلب نشر كل اعتماد داخلي. وليس النموذج إثبات نشر أو جاهزية.

فسر طبقة الاستجابة بدقة

يعني فشل DNS غياب الحسم من المستدعي، ويشير الرفض لوجهة رفضت الاتصال، وقد تتصل المهلة بالترشيح أو المسار. يثبت 404 جواب HTTP ويحتاج المسار للفحص. قد تتزامن الصحة الداخلية مع تعيين خاطئ؛ فاختر الفحص الضيق لا الإعادة الشاملة.

تحقق من نجاح الإصلاح

افحص طلباً محدوداً من المستهلك في مختبر مصرح. يعيد المثال عند النجاح parcel-api وسطرًا جديداً وتتغير الترويسات والأزمنة. أكد نطاق الربط واكتشاف الأسماء واختبر الاستبدال دون عناوين مثبتة.

امنع تكرار المشكلة

  • وثق الروابط وتجنب عناوين الحاويات الثابتة ووضح المستمع وراجع دمج المنافذ. افحص Linux و Desktop و rootless في هدفها الفعلي دون افتراض توجيه متماثل.

المراجع الرسمية