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 механизминин аркасында.