Sobes.tech
Junior

Ի՞նչ է պատկերի և կոնտեյների տարբերությունը։

sobes.tech AI

Պատասխան AI-ից

Նկար (image) — դա կայուն, փոփոխական չհամարվող պատկերի պատկերը է, որը անհրաժեշտ է ծրագրի գործարկման համար։ Այն ծառայում է որպես նմուշ։

Կոնտեյներ (container) — դա նկարի գործարկվող օրինակն է։ Այն դինամիկ է և ներկայացնում է աշխատող գործընթաց՝ իր սեփական ցանցային ինտերֆեյսով, ֆայլային համակարգով (նպաստած նկարի վրա) և առանձնացված միջավայրով։

Գծագիր Նկար Կոնտեյներ
Կարգավիճակ Փոփոխական չէ Փոփոխական է
Ինքնություն Նմուշ Աշխատող օրինակ
չափը Սովորաբար փոքր է աշխատող կոնտեյների համեմատ Կարող է լինել մեծ՝ գրառման շերտի պատճառով
Կյանքի ցիկլ Ստեղծվում է, պահվում է Ստեղծվում է, սկսվում, կանգնեցվում, ջնջվում

Օրինակ՝ Dockerfile:

# Հիմնական նկարը
FROM ubuntu:latest

# Ծրագրի պատճենը
COPY app /app

# Զարգացումների տեղադրումը
RUN apt-get update && apt-get install -y python3

# Աշխատանքային թղթապանակի սահմանում
WORKDIR /app

# Սկսման հրամանը
CMD ["python3", "main.py"]

Այս Dockerfile-ը նկարագրում է, թե ինչպես կառուցել նկարը։ Նկարը կառուցելուց հետո, օրինակ՝ docker build -t myapp . հրամանի միջոցով, ստանում ենք կայուն myapp նկարը։

Հետո, docker run -d myapp հրամանի միջոցով, ստեղծում ենք կոնտեյներ այս նկարի հիման վրա։ Այս կոնտեյները ակտիվ գործընթաց է, որի մեջ կատարվում է մեր ծրագիրը։ Կարող են ստեղծվել մի քանի կոնտեյներ մեկ նկարի հիման վրա։ Կոնտեյների ներսում կատարվող փոփոխությունները (օրինակ՝ ֆայլերի գրառումը) չեն ազդում նկարի կամ մյուս կոնտեյների վրա, որոնք ստեղծված են նույնից, շնորհիվ Copy-on-Write մեխանիզմի։