Sobes.tech
Junior

Дар дохили контейнери Docker чӣ истифода мешавад?

sobes.tech AI

Ҷавоб аз AI

Контейнери Docker аз рӯи технологиҳои зиёде барои ҷудо кардани раванду процесҳо ва захираҳо истифода мебаранд:

  • Namespaces-и ядрои Linux: Иҷозат медиҳанд, ки захираҳои системаи гуногун ҷудо карда шаванд, масалан:

    • PID (Шенасоии раванду): Процессҳоро ҷудо мекунад.
    • Net (Шабака): Стекрои шабакаро ҷудо мекунад.
    • Mount (mnt): нуқтаҳои пайвасткунии системаи файлро ҷудо мекунад.
    • UTS (Unix Timesharing System): номи меҳмонхона ва номи доменро ҷудо мекунад.
    • IPC (Механизми муоширати байнипроцессӣ): механизмҳои муоширати байнипроцессиро ҷудо мекунад.
    • User (Шенасоии корбар ва гурӯҳ): шенасоии корбар ва гурӯҳҳоро ҷудо мекунад.
  • Гурӯҳҳои назорат (cgroups): истифодаи ва маҳдуд кардани истифодаи захираҳои сахтафзорро барои равандуҳои дохили контейнери идора мекунанд, аз ҷумла:

    • CPU: маҳдуд кардани вақти коркарди CPU.
    • Memory: маҳдуд кардани истифодаи хотираи RAM.
    • Block I/O: маҳдуд кардани суръати вуруд ва баромади диск.
    • Net I/O: маҳдуд кардани суръати вуруд ва баромади шабака.
  • Системаи файлҳои union: системаи файлҳои муттаҳидшуда, ки аз чанд қабат иборат аст. Docker чунин системаҳоро истифода мебарад, масалан OverlayFS, AUFS, Btrfs, ZFS. Ин имкон медиҳад, ки нигоҳдории тасвирҳоро самаранок идора кардан ва танҳо барои тағирот қабатҳо эҷод кардан.

  • Раванди Docker Daemon: даврарои ҳаёти контейнериҳоро идора мекунад (эҷод кардан, оғоз кардан, боздоштани, нест кардан).

  • Рантайми контейнери: иҷрои пасти сатҳии контейнери. Docker дар замонҳои гуногун рангтаймҳои гуногунро истифода мебурд ва дастгирӣ мекунад, масалан runc (таърифоти OCI), containerd.

  • Расми контейнери: маҷмӯи қабатҳои системаи файлҳо ва метадатаҳо, ки барои оғоз кардани барнома заруранд.

  • Барнома: коди иҷрошаванда, китобхонаҳо, вобастагиҳо ва файлҳои конфигуратсия, ки худи барномаро ташкил медиҳанд, ки дар дохили контейнери кор мекунад.

Дар асос, контейнер раванди ҷудошударо (ё гурӯҳи равандуҳоро) дар муҳити маҳдуд, ки аз ядрои Linux таъмин шудааст ва аз ҷониби Docker идора мешавад, иҷро мекунад.