CodeGym /Kurslar /Docker SELF /Konteyner portlarının dərc edilməsi

Konteyner portlarının dərc edilməsi

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

4.1 Port yayınlama əsas anlayışları

Portların dərc edilməsi Docker-də konteynerlərdə işləyən xidmətlərin xarici şəbəkədən və ya hostdan əlçatan olmasını təmin edir. Bu, çox-konteynerli tətbiqlərin konfiqurasiyası üçün vacib bir hissədir, çünki bu, veb serverlər, verilənlər bazaları və digər şəbəkə tətbiqləri kimi xidmətlərlə qarşılıqlı əlaqəni mümkün edir. Bu mövzuda konteyner portlarını necə dərc etməyi və xidmətlərə necə girişi konfiqurasiya etməyi müzakirə edəcəyik.

Port dərc etmənin əsas anlayışları

  • Portların uyğunlaşdırılması (Mapping): Host portunun konteyner portuna uyğun gəlməsi.
  • -p/--publish parametri: Konteynerin işə salınmasında port uyğunluğunu göstirmək üçün istifadə olunur.
  • -P/--publish-all parametri: Konteynerin bütün ixrac olunan portları üçün avtomatik olaraq host portları təyin edir.

-p parametrindən istifadə nümunəsi

Konteyneri işə salarkən, host portunu konteyner portuna bağlamaq üçün -p seçimini istifadə edə bilərsiniz. Komandanın formatı:

Terminal

docker run -d -p <host_port>:<container_port> <image> 

Nümunə 1: Nginx veb serverinin portunun dərc edilməsi

Nginx ilə konteyner işə salıb, konteynerin 80 portunu hostun 8080 portunda dərc edəcəyik.

İndi Nginx http://localhost:8080 ünvanında əlçatan olacaq.

Terminal

docker run -d -p 8080:80 --name mynginx nginx 

Nümunə 2: Bir neçə portun dərc edilməsi

Bir neçə portu dərc edə bilərsiniz, bir neçə -p seçimindən istifadə edərək.

Bu nümunədə, Nginx HTTP üzərindən 8080 portunda və HTTPS üzərindən 8443 portunda əlçatan olacaq.

Terminal

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

-P parametrindən istifadə nümunəsi

-P parametri bütün Dockerfile və ya konteyner parametrlərində qeyd edilmiş portları avtomatik olaraq təsadüfi host portlarına bağlayır.

Nümunə:

Terminal

docker run -d -P --name mynginx nginx 

Hansı portların təyin edildiyini bilmək üçün docker port komandasından istifadə edin:

Terminal

docker port mynginx

Nəticə təxminən belə olacaq:

Terminal

80/tcp -> 0.0.0.0:32768
443/tcp -> 0.0.0.0:32769

4.2 Docker Compose-da portların paylaşılması

Docker Compose-da portları təyin etmək üçün ports direktivindən docker-compose.yml faylında istifadə elə.

docker-compose.yml faylı üçün nümunə

Yaml

version: '3.8'

services:
  web:
    image: nginx:latest
    ports:
      - "8080:80"
      - "8443:443"

Docker Compose-u işə sal:

Terminal

docker compose up -d 

İndi Nginx http://localhost:8080 və https://localhost:8443 ünvanlarında əlçatan olacaq.

4.3 Portların yayımı üçün əlavə parametrlər

1. IP ünvan məhdudiyyəti

Hostun IP ünvanını müəyyən edərək konteyner portuna çıxışı məhdudlaşdıra bilərsiniz.

Nümunə:

Bu nümunədə Nginx yalnız lokal hostdan http://127.0.0.1:8080 ünvanı ilə əlçatan olacaq.

Terminal

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

2. Port diapazonundan istifadə

Yayım üçün port diapazonu göstərə bilərsiniz.

Nümunə:

Terminal

docker run -d -p 8080-8081:80-81 --name mynginx nginx 

Təcrübi məsləhətlər:

  • Lazımlı portların yayımı: Yalnız xidmətlərə giriş üçün həqiqətən lazım olan portları yayımlayın ki, potensial zəiflikləri azaldasınız.
  • Firewall istifadə: Yayılmış portlara girişin yalnız etibarlı IP ünvanlarından icazə verilməsi üçün firewall konfiqurasiya edin.
  • Monitorinq və loglama: Yayılmış portlara olan çıxışı izləmək və şübhəli fəaliyyəti aşkar etmək üçün monitorinq və loglama alətlərindən istifadə edin.
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION