پروکسی HTTP خارجی لازم نیست نام سرویس api در Docker را بداند. برای http://api:8080/ پروکسی اتصال بعدی را باز می‌کند، بنابراین جست‌وجوی موفق درون کانتینر برنامه، دید DNS پروکسی را اثبات نمی‌کند.

برای دسترسی مستقیم موردنظر، استثنا را به محیط همان کانتینر اضافه کنید:

environment:
  http_proxy: http://proxy.example:8080
  https_proxy: http://proxy.example:8080
  no_proxy: api

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

اگر کانتینرهای بازسازی‌شده متغیرهای غیرمنتظره را حفظ می‌کنند، بخش config.json proxies کلاینت Docker را بررسی کنید که می‌تواند مقادیر محیطی را تزریق کند. ورودی موردنظر را تغییر دهید و کانتینرهای تحت تأثیر را از طریق جریان عادی بازسازی کنید و پیکربندی نامرتبط را حفظ کنید.

مقالات مرتبط