Rasm va konteyner o'rtasidagi farq nima?
sobes.tech AI
AIdan javob
Rasm (image) — bu fayl tizimi va sozlash parametrlarining statik, o'zgarmas suratidir, u dasturiy ta'minotni ishga tushirish uchun zarur. U shablon sifatida xizmat qiladi.
Konteyner (container) — bu rasmning ishga tushirilgan nusxasi. U dinamik va o'zining tarmoq interfeysi, fayl tizimi (rasm asosida) va izolyatsiyalangan muhit bilan ishlayotgan jarayonni ifodalaydi.
| Xususiyat | Rasm | Konteyner |
|---|---|---|
| Holat | O'zgarmas | O'zgaruvchan |
| Subyekt | Shablon | Ishga tushirilgan nusxa |
| Hajm | Odatda, ishga tushirilgan konteynerdan kichikroq | Yozish qatlamiga ko'ra katta bo'lishi mumkin |
| Hayot aylanishi | Yaratiladi, saqlanadi | Yaratiladi, ishga tushiriladi, to'xtatiladi, o'chiriladi |
Misol: Dockerfile:
# Asosiy rasm
FROM ubuntu:latest
# Ilovani nusxalash
COPY app /app
# Kerakli bog'liqliklarni o'rnatish
RUN apt-get update && apt-get install -y python3
# Ishchi katalogni belgilash
WORKDIR /app
# Ishga tushirish komandasi
CMD ["python3", "main.py"]
Ushbu Dockerfile, qanday qilib rasm qurishni tavsiflaydi. Rasm qurilgandan so'ng, masalan, docker build -t myapp . komandasi bilan, statik myapp rasm olinadi.
Keyin, docker run -d myapp komandasi bilan, bu rasm asosida konteyner yaratiladi. Bu konteyner, bizning ilovamizni ishga tushiradigan faol jarayon bo'lib, undan bir nechta konteynerlar yaratish mumkin. Bir konteyner ichidagi o'zgarishlar (masalan, fayllarni yozish) rasmga yoki undan yaratilgan boshqa konteynerlarga ta'sir qilmaydi, Copy-on-Write mexanizmi tufayli.