Сүрөт жана контейнердин айырмасы эмнеде?
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 механизминин аркасында.