Docker hansı əsas xüsusiyyətlərə əsaslanır?
sobes.tech Süni İntellekt
AI-dan cavab
Docker-inin əsas xüsusiyyətləri:
-
Proseslərin izolyasiyası: Konteynerlər təbiətinə görə bir-birindən və host sistemindən izolyasiyalıdır. Bu, Linux nüvəsinin namespaces (PID, NET, IPC, MNT, UTS) və cgroups (CPU, yaddaş, I/O resurslarının məhdudlaşdırılması üçün) mexanizmləri ilə təmin edilir.
-
Şəkillər: Docker şəkli dəyişməz, çox qatlı bir artefakt olub, tətbiqi işlətmək üçün lazım olan hər şeyi ehtiva edir: kod, kitabxanalar, asılılıqlar, alətlər və konfiqurasiya faylları. Şəkillər "qatlar üzərində qatlar" prinsipi ilə qurulur, bu da ümumi komponentlərin yenidən istifadəsinə və yer qənaətinə imkan verir.
-
Konteynerlər: Konteyner, şəkilin işlək nümunəsidir. O yüngüldür, daşına biləndir və işlək tətbiqi özündə saxlayır. Konteynerlər sürətlə başlatıla, dayandırıla, köçürülə və miqyaslana bilər.
-
Dockerfile: Dockerfile faylı Docker şəklinin qurulma prosesini təsvir edən göstərişlər toplusudur. Bu, təkrarlana bilən və avtomatlaşdırılmış quruluş üçün deklarativ yanaşmadır.
# Nümunə Dockerfile FROM alpine:3.14 // Əsas şəkil RUN apk add --no-cache nginx // Paketlərin quraşdırılması COPY html/ /usr/share/nginx/html/ // Faylların kopyalanması EXPOSE 80 // Portun açılması CMD ["nginx", "-g", "daemon off;"] // Konteyner başladıqda icra ediləcək əmrlə -
Qat-qat fayl sistemi: Docker Union File Systems (AUFS, OverlayFS) istifadə edir, bu da şəkillərin qatlar şəklində yaradılmasına imkan verir. Hər qat əvvəlki qat ilə müqayisədə dəyişikliklər toplusunu təmsil edir. Bu xüsusiyyət şəkillərin sürətlə yaradılmasına, qatların keşikdə saxlanmasına və disk sahəsinin səmərəli istifadəsinə imkan verir.
-
Docker qeydiyyatı: Docker qeydiyyatları (məsələn, Docker Hub, GCR, ACR) Docker şəkillərinin saxlanması və yayılması üçün istifadə olunur. Bu, inkişaf etdiricilər, komandalar və mühitlər arasında şəkillərin mübadiləsini asanlaşdırır.
-
Daşına bilənlik: Şəkillər və konteynerlər daşına biləndir. Bir platformada qurulan şəkil, Docker quraşdırılmış hər hansı digər platformada işlədilə bilər, asılılıqları yenidən konfiqurasiya etməyə ehtiyac olmadan.
-
Tez işə salma: Konteynerin işə salınması, tam bir əməliyyat sisteminin yüklənməsindən çox daha sürətlidir, çünki tam əməliyyat sisteminin yüklənməsinə ehtiyac yoxdur.
-
Resursların səmərəli istifadəsi: Konteynerlər, host sistemin resurslarını virtual maşınlardan daha səmərəli istifadə edir, çünki onlar ayrı CPU nüvələrinin ayrılmasını tələb etmir.