Фарқияти байни тасвир ва контейнер чист?
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.