1.1 Bridge şəbəkə driveri
Docker-ın şəbəkə driverləri konteynerlərin bir-biri ilə və xarici şəbəkələrlə qarşılıqlı əlaqə yaratmasına imkan verir. Docker bir neçə şəbəkə driveri təqdim edir, hər biri öz xüsusiyyətlərinə malikdir və müəyyən istifadə ssenariləri üçün nəzərdə tutulub. Bu mühazirədə biz dörd əsas şəbəkə driverinə baxacağıq: bridge, host, none və overlay.
Bridge şəbəkə driveri Docker-da standart şəbəkə driveridir. O, konteynerlərin bir-biri ilə ünsiyyətdə ola biləcəyi özəl bir daxili şəbəkə yaradır. Bu şəbəkə host-un xarici şəbəkəsindən təcrid olunub.
Xüsusiyyətlər:
-
bridgeşəbəkəsinə qoşulmuş konteynerlər IP ünvanları vasitəsilə bir-biri ilə qarşılıqlı əlaqə yarada bilərlər. - Xarici şəbəkələr
bridgeşəbəkəsindəki konteynerlərlə birbaşa qarşılıqlı əlaqə yarada bilməz, əgər port forwarding qurulmayıbsa. - Lokal inkişaf və test ssenariləri üçün istifadəsi rahatdır.
İstifadə nümunəsi:
Şəbəkə göstərilmədən konteyner yaratdıqda, o avtomatik olaraq bridge şəbəkəsinə qoşulur.
docker run -d --name my_container nginx
Port forwarding-i qurmaq üçün -p flag-dən istifadə olunur.
docker run -d -p 8080:80 --name my_container nginx
1.2 Şəbəkə driveri Host
Şəbəkə driveri host konteynerə host maşınının şəbəkə stack-dan birbaşa istifadə etməyə imkan verir. Bu o deməkdir ki, konteyner hostun IP ünvanına sahib olacaq və hostun bütün şəbəkə interfeyslərindən istifadə edə biləcək.
Xüsusiyyətlər:
- Şəbəkə driveri
hostistifadə edən konteynerlər şəbəkə virtualizasiyası ilə əlaqəli overhead-i azaldaraq daha sürətli işləyirlər. - Konteynerlər hostun istifadə etdiyi şəbəkə interfeyslərinə çıxış əldə edir, bu isə təhlükəsizlik riskini artıra bilər.
- Yüksək şəbəkə performansı və ya spesifik şəbəkə konfiqurasiyası tələb edən ssenarilər üçün uyğundur.
İstifadə nümunəsi:
docker run -d --network host --name my_container nginx
1.3 Şəbəkə sürücüsü None
none şəbəkə sürücüsü konteynerin bütün şəbəkə imkanlarını deaktiv edir. none şəbəkəsinə qoşulmuş konteynerin şəbəkə interfeysi yoxdur və bu, onu digər konteynerlərdən və şəbəkələrdən tamamilə təcrid edir.
Xüsusiyyətlər:
- Konteynerin bütün şəbəkələrdən tam təcrid olunması.
- Şəbəkədən asılı olmayan tapşırıqları yerinə yetirmək üçün, məsələn, şəbəkəyə ehtiyac duymayan konteynerlər üçün istifadə olunması rahatdır.
İstifadə nümunəsi:
docker run -d --network none --name my_container busybox
1.4 Şəbəkə sürücüsü Overlay
overlay şəbəkə sürücüsü bir neçə Docker hostlarını əhatə edən paylanmış şəbəkə yaratmaq üçün istifadə olunur. Bu sürücü tez-tez Docker Swarm və ya Kubernetes-də konteynerlərin fərqli hostlar arasında şəbəkə əlaqəsini təmin etmək üçün istifadə olunur.
Əsas xüsusiyyətləri:
- Fərqli hostlarda olan konteynerlər arasında əlaqəni təmin edir.
- Docker Swarm kimi konfiqurasiya edilmiş klaster tələb edir.
- Mövcud şəbəkələrin üzərində virtual şəbəkələr yaratmağa imkan verir, bu da yüksək səviyyədə təcrid və təhlükəsizlik təmin edir.
İstifadə nümunəsi:
overlay sürücüsünü istifadə etmək üçün əvvəlcə Docker Swarm klasteri yaratmaq lazımdır.
1. Docker Swarm-ın başlatılması:
docker swarm init
2. Overlay şəbəkəsinin yaradılması:
docker network create -d overlay my_overlay_network
3. overlay şəbəkəsinə qoşulmuş konteynerlərin işə salınması:
docker service create --name my_service --network my_overlay_network nginx
1.5 Şəbəkə sürücülərinin müqayisəsi
Müxtəlif şəbəkə sürücülərinin müqayisəsi
| Şəbəkə sürücüsü | İzolyasiya | Performans | Tətbiq sahəsi | Xüsusiyyətlər |
|---|---|---|---|---|
| bridge | Yüksək | Orta | Lokal şəbəkələr | Varsayılan izolyasiya olunmuş şəbəkə |
| host | Aşağı | Yüksək | Performans | Host ilə ümumi şəbəkə steki |
| none | Tam | Ən yüksək | İzolyasiya | Şəbəkədən tam izolyasiya |
| overlay | Yüksək | Yüksək | Dağıtılmış şəbəkələr | Fərqli hostlardakı konteynerlər arasında əlaqə |
Şəbəkə sürücülərinin tətbiqi
-
Bridge: Lokal tətbiqlər və test üçün istifadə edin, konteynerlər bir-birilə qarşılıqlı əlaqədə olmalıdır, lakin xarici şəbəkədən izolyasiya edilməlidir. -
Host: Şəbəkənin yüksək performansı tələb edən və ya xüsusi şəbəkə konfiqurasiyaları tələb edən tətbiqlər üçün istifadə edin, burada şəbəkə izolyasiyası prioritet deyil. -
None: Şəbəkə qarşılıqlı əlaqəsi tələb etməyən tam izolyasiya olunmuş konteynerlər üçün istifadə edin. -
Overlay: Klasterdə işləyən dağıtılmış tətbiqlər üçün istifadə edin, burada müxtəlif hostlardakı konteynerlər arasında əlaqəni təmin etmək lazımdır.
GO TO FULL VERSION