Որ հիմնական հատկանիշների վրա է հիմնված Docker-ը։
sobes.tech AI
Պատասխան AI-ից
Բացառիկ առանձնահատկություններ Docker:
-
Պրոցեսների մեկուսացում: Կոնտեյներները բնույթով մեկուսացված են միմյանցից և հոստ համակարգից: Սա ապահովվում է Linux միջուկի մեխանիզմների միջոցով, ինչպիսիք են namespaces (PID, NET, IPC, MNT, UTS) և cgroups (ռեսուրսների սահմանափակման համար՝ CPU, հիշողություն, I/O):
-
Նկարներ (Images): Docker նկարը անփոփոխ, շերտավոր արխիվ է, որը պարունակում է ամեն ինչ՝ ծրագրի գործարկման համար՝ կոդ, գրադարաններ, կախվածություններ, գործիքներ և կոնֆիգուրացիոն ֆայլեր: Նկարները կառուցվում են "շերտեր վերևից շերտեր" սկզբունքով, ինչը թույլ է տալիս կրկնօրինակի օգտագործում և տարածք խնայել:
-
Կոնտեյներներ (Containers): Կոնտեյներն են նկարի գործարկելի օրինակները: Դրանք թեթև, տրանսպորտային և պարունակում են գործարկված ծրագիրը: Կոնտեյներները կարող են արագ գործարկվել, կանգնեցնել, տեղափոխել և մասշտաբել:
-
Dockerfile: Dockerfile ֆայլը պարունակում է հրահանգների հավաքածու, որը նկարագրում է Docker նկարի կառուցման գործընթացը: Սա դեկլարատիվ մոտեցում է նկարների ստեղծմանը, որը ապահովում է վերարտադրելիություն և ավտոմատացում:
# Օրինակ Dockerfile FROM alpine:3.14 // Հիմնական նկարը RUN apk add --no-cache nginx // Փաթեթների տեղադրում COPY html/ /usr/share/nginx/html/ // Ֆայլերի պատճենում EXPOSE 80 // Պորտի բացում CMD ["nginx", "-g", "daemon off;"] // Կոնտեյների գործարկման հրամանը -
Շերտավոր ֆայլային համակարգ (Layered Filesystem): Docker-ը օգտագործում է Union File Systems (AUFS, OverlayFS), որոնք թույլ են տալիս ստեղծել նկարներ շերտերով: Ամեն շերտ ներկայացնում է փոփոխությունների հավաքածու նախորդ շերտի նկատմամբ: Այս հատկությունը թույլ է տալիս արագ ստեղծել նկարներ, կեշավորել շերտերը և արդյունավետ օգտագործել דיסքի տարածքը:
-
Docker ռեգիստր (Registry/Hub): Docker ռեգիստրները (օրինակ՝ Docker Hub, GCR, ACR) օգտագործվում են Docker նկարների պահեստավորման և տարածման համար: Սա թույլ է տալիս փոխանակել նկարները ծրագրավորողների, թիմերի և միջավայրերի միջև:
-
Տրանսպորտայինություն: Նկարներն ու կոնտեյներները նախագծված են լինել տրանսպորտային: Միևնույն ժամանակ, մեկ պլատֆորմում ստեղծված նկարն կարող է գործարկվել ցանկացած այլ պլատֆորմում, որտեղ տեղադրված է Docker-ը, առանց կախվածությունների վերանախագծման:
-
Արագ գործարկում: Կոնտեյների գործարկումը զգալիորեն արագ է, քան վիրտուալ մեքենայի գործարկումը, քանի որ չի պահանջվում ամբողջ օպերացիոն համակարգի բեռնաթափում:
-
Էֆեկտիվ օգտագործում ռեսուրսների: Կոնտեյներները ավելի արդյունավետ են օգտագործում հոստ համակարգի ռեսուրսները, քան վիրտուալ մեքենաները, քանի որ դրանք չեն պահանջում առանձնացնել հատուկ միջուկներ։