Sobes.tech
Junior

Şəkil və konteyner arasındakı fərq nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Şəkil (image) — tətbiqin işləməsi üçün lazım olan fayl sisteminin və konfiqurasiya parametrlərinin statik, dəyişməz görüntüsüdür. O, şablon kimi xidmət edir.

Konteyner (container) — bu, şəkilin işlək nüsxəsidir. O, dinamikdir və öz şəbəkə interfeysi, fayl sistemi (şəkil əsasında) və izolyasiya olunmuş mühit ilə işləyən prosesdir.

Xüsusiyyət Şəkil Konteyner
Vəziyyət Dəyişməz Dəyişkən
Varlıq Şablon İşlək nüsxə
Ölçü Adətən işlək konteynerdən kiçikdir Yazma qatına görə daha böyük ola bilər
Həyat dövrü Yaradılır, saxlanılır Yaradılır, işə salınır, dayandırılır, silinir

Nümunə: Dockerfile:

# Əsas şəkil
FROM ubuntu:latest

# Tətbiqi kopyala
COPY app /app

# Asılılıqları quraşdır
RUN apt-get update && apt-get install -y python3

# İşçi qovluğunu təyin et
WORKDIR /app

# İşə salma əmri
CMD ["python3", "main.py"]

Bu Dockerfile, şəkil necə qurulacağını təsvir edir. Şəkil qurulduqdan sonra, məsələn, docker build -t myapp . əmri ilə, statik myapp şəkili əldə edilir.

Sonra, docker run -d myapp əmri ilə, bu şəkil əsasında konteyner yaradılır. Bu konteyner, tətbiqimizin işlədiyi aktiv prosesdir. Bir çox konteyner eyni şəkildən yaradıla bilər. Bir konteyner daxilindəki dəyişikliklər (məsələn, faylların yazılması) şəkil və ya ondan yaradılan digər konteynerlərə təsir etmir, Copy-on-Write mexanizmi sayəsində.