CodeGym /Kurslar /Docker SELF /Portların yönləndirilməsi

Portların yönləndirilməsi

Docker SELF
Səviyyə , Dərs
Mövcuddur

7.1 Portların yönləndirilmə əsasları

Portların yönləndirilməsi — bu, Docker-də əsas anlayışlardan biridir ki, konteyner daxilində işləyən servislərin xarici aləmdən əlçatan olmasını təmin edir. Bu funksiya, tətbiqlərin yerləşdirilməsi prosesində vacib rol oynayır, veb-serverlərə, verilənlər bazasına və konteyner daxilində işləyən digər servislərə hədəf maşından və ya digər şəbəkələrdən çıxışı təmin edir.

Siz Docker vasitəsilə konteyner işə saldığınız zaman, o, izolyasiya olunmuş şəbəkədə çalışır. Konteyner daxilindəki servislərə giriş üçün Docker portları konteynerdən hədəf maşına yönləndirilməsinə imkan verir.

Portların yönləndirilməsi -p və ya --publish parametrlərindən istifadə edərək docker run komandası vasitəsilə həyata keçirilir.

Sintaksis


docker run -p [HOST_PORT ]:[CONTAINER_PORT] [OPTIONS] IMAGE [COMMAND] [ARG...]

Harada:

  • HOST_PORT: hədəf maşında trafik yönləndiriləcək port.
  • CONTAINER_PORT: konteyner daxilində trafik yönləndiriləcək port.
  • OPTIONS: konteynerin tənzimlənməsi üçün əlavə parametrlər.
  • IMAGE: konteyner yaradılacaq image.
  • COMMAND: konteyner daxilində icra olunacaq komanda.
  • ARG...: komanda üçün arqumentlər.

Əsas istifadə nümunəsi

Bu nümunədə Nginx veb-serverinin çalışdığı konteynerdəki 80 portu hədəf maşının 8080 portuna yönləndirilir. İndi siz veb-serverə brauzerdə http://localhost:8080 ünvanını açaraq daxil ola bilərsiniz.



docker run -d -p 8080:80 nginx

7.2 Portların yönləndirilməsinin digər variantları

1. Çoxsaylı port yönləndirməsi

Docker birdən çox portu eyni anda yönləndirməyə imkan verir. Bunun üçün bir neçə -p opsiyası istifadə olunur.

Nümunə

Bu nümunədə konteynerin 80 portu hostun 8080 portuna, konteynerin 443 portu isə hostun 8443 portuna yönləndirilir.



docker run -d -p 8080:80 -p 8443:443 nginx

2. IP-adres göstərişi ilə port yönləndirməsi

Siz həmçinin yönləndirilmiş portun bağlanacağı konkret IP-adresi göstərə bilərsiniz. Bu, host-maşında bir neçə şəbəkə interfeysi olduğu halda faydalıdır.

Nümunə

Bu nümunədə konteynerin 80 portu yalnız host-maşının 127.0.0.1 interfeysindəki 8080 portuna yönələ bilir. Bu o deməkdir ki, xidmətə yalnız lokal maşından daxil olmaq mümkündür.



docker run -d -p 127.0.0.1:8080:80 nginx

3. Portlar diapazonunun yönləndirilməsi

Bir portlar diapazonunu yönləndirmək lazım olduqda, Docker bunu diapazon sintaksisi vasitəsi ilə etməyə imkan verir.

Nümunə

Bu nümunədə konteynerin 7000-dən 8000-ə qədər portları host-maşının 7000-dən 8000-ə qədər portlarına yönləndirilir.



docker run -d -p 7000-8000:7000-8000 someimage

7.3 İstifadənin praktiki ssenariləri

1. Veb serverə çıxış

Portların yönləndirilməsi tez-tez konteynerlər daxilində işləyən veb serverlərə çıxış təmin etmək üçün istifadə olunur.


docker run -d -p 8080:80 nginx 

Bu komandadan sonra, konteynerin 80 saylı portunda çalışan Nginx veb serveri, host maşınının 8080 saylı portunda əlçatan olacaq.

2. Məlumat bazasına çıxış

Portların yönləndirilməsi həm də konteynerlər daxilində işləyən məlumat bazalarına çıxış üçün faydalıdır.



docker run -d -p 5432:5432 -e POSTGRES_PASSWORD=mysecretpassword postgres

Bu nümunədə PostgreSQL, konteynerin 5432 saylı portunda işləyir və host maşınının 5432 saylı portunda əlçatan olur.

3. Test və inkişaf

Tətbiqlərin hazırlanması zamanı Docker konteynerləri tez-tez izolə olunmuş test mühitləri yaratmaq üçün istifadə olunur. Portların yönləndirilməsi, tərtibatçılara öz tətbiqlərini real mühitə yaxın şəraitdə sınaqdan keçirmək imkanı verir.


        
docker run -d -p 8080:80 -p 8443:443 myapp

Bu nümunə tərtibatçıya tətbiqi 8080 və 8443 portlarında sınaqdan keçirmək imkanı verir ki, bu da istehsal mühitində istifadə olunan portlara uyğundur.

7.4 Əlavə tövsiyələr

1. Portların mühafizəsi

Portların yönləndirilməsi zamanı təhlükəsizliyi nəzərə almaq vacibdir. Açıq portlar hücumlar üçün hədəf ola bilər. Yalnız lazım olan portları yönləndirdiyinizə əmin olun və girişi məhdudlaşdırmaq üçün firewall istifadə edin.

2. Firewall və NAT istifadəsi

Təhlükəsizliyi artırmaq və şəbəkə trafikini idarə etmək üçün Firewall və Network Address Translation (NAT) texnologiyalarından istifadə etməyi nəzərdən keçirin. Bu, xidmətlərinizə girişə məhdudiyyət qoymağa və şəbəkə bağlantılarını idarə etməyə kömək edəcək.

3. Monitorinq və loglama

Yönləndirilmiş portlar vasitəsilə keçən trafiki izləmək üçün monitorinq və loglama alətlərindən istifadə etməyi nəzərdən keçirin. Bu, şəbəkə trafikində anomaliyaları aşkar etməyə və onlara reaksiya verməyə kömək edəcək.

Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION