How to publish ports in docker

  • فرض کنید که یک کانتینر nginx دارید که روی پورت ۸۰ فعال است.
  • در حالت عادی این پورت ۸۰ تنها بر روی کانتینر فعال است.
  • برای این که پورت ۸۰ این کانتینر قابل استفاده در سیستم سرور ( بیرون از کانتینر ) باشه لازم است که اصطلاحا عمل publish کردن پورت صورت بگیره.
  • این کار به دو مدل قابل انجام است :
    • اول این که تنها پورت خاصی را به صورت دستی به پورتی خاص در سرور متصل کنیم.
    • دوم این که تمام پورت های موجود و فعال در کانتینر را به پورت هایی رندوم در سرور متصل کنیم.

  • در حالت اول از آپشن p- استفاده می شود.
  • در حالت دوم از آپشن P- استفاده می شود.

  • مثال : می خواهیم تمام پورت های کانتینر nginx به خارج ( از کانتینر ) متصل کنیم. برای این منظور :

  • برای مشاهده خروجی نتایج کافیست از دستور ps استفاده کنید.

  • در سیستم بنده پورت ۸۰ مربوط به کانتینر به پورت رندوم 32769 متصل شد.

  • حال ممکن است بخواهیم تنها پورت ۸۰ به پورت ۸۰۸۰ سرور متصل شود. برای این منظور :


  • Tested in Docker version 19.03.2, build 6a30dfca03