پورت منتشرشده Docker مسیری به یک نقطه پایانی در کانتینر فراهم می‌کند. نه پروکسی را راه‌اندازی می‌کند و نه نشانی‌ای را که آن فرایند روی آن گوش می‌دهد تغییر می‌دهد.

برای یک نگاشت معمول در شبکه پلی، این سه مقدار را مقایسه کنید:

بخش مسیرمقداری که باید بررسی شود
ورود کارخواهنشانی میزبان و پورت منتشرشده‌ای که کارخواه با آن تماس می‌گیرد
هدف ارسالنشانی و پورت کانتینری که نگاشت انتخاب می‌کند
سرویسنشانی و پورتی که پروکسی در واقع درون کانتینر به آن متصل می‌شود

پروکسی‌ای که درون کانتینر فقط به 127.0.0.1 متصل شده باشد ممکن است ترافیک ارسال‌شده به نشانی شبکه‌ای خود را دریافت نکند. این با انتشار پورت میزبان فقط روی loopback میزبان تفاوت دارد: آن محدود می‌کند چه کسی می‌تواند به نگاشت برسد، در حالی که loopback کانتینر می‌تواند مانع رسیدن نگاشت به سرویس شود.

شنونده درونی را برای استقرار مورد نظر انتخاب کنید و در همان حال انتشار محدود میزبان و دسترسی به پروکسی را حفظ کنید. اعلان پورت افشاشده در Dockerfile هیچ سرویسی را راه‌اندازی نمی‌کند و اجرای موفق کانتینر ثابت نمی‌کند که فرایند روی هدف ارسال گوش می‌دهد.

دنبال کنید که یک اتصال ناموفق تا کجا پیش می‌رود. ردها و بازنشانی‌ها بسته به سکو و پیاده‌سازی ارسال متفاوت‌اند، بنابراین هیچ‌کدام به‌تنهایی یک تنظیم را مشخص نمی‌کند. وقتی به سرویس رسید، به دنبال سلام معتبر پروکسی بگردید و نسخه SOCKS، احراز هویت و سیاست مقصد مورد نیاز را اعمال کنید. تنها یک پورت میزبان قابل دسترس نمی‌تواند آن توانایی‌ها را اثبات کند.

مقالات مرتبط