Sobes.tech
Junior

Docker ба кадом хусусиятҳои асосӣ асос ёфтааст?

sobes.tech AI

Ҷавоб аз AI

Асосӣ хусусиятҳои Docker:

  • Изоляцияи равандҳо: Контейнерҳо аз табиати худ аз ҳамдигар ва аз системаи ҳост изолатсия шудаанд. Ин тавассути истифодаи механизмҳои ядрои Linux, ба монанди namespaces (PID, NET, IPC, MNT, UTS) ва cgroups (барои маҳдуд кардани захираҳои CPU, хотира, I/O) таъмин карда мешавад.

  • Расмҳо (Images): Расми Docker як артефакти ғайрифаъол ва қабатнок аст, ки ҳама чизро барои оғоз кардани барнома дорад: код, китобхонаҳо, вобастагиҳо, асбобҳо ва файлҳои конфигуратсия. Расмҳо бо принсипи "қабатҳо болои қабатҳо" сохта мешаванд, ки имкон медиҳад, ки компонентҳои умумӣ такрор ба такрор истифода шаванд ва ҷойро сарфа кунанд.

  • Контейнерҳо (Containers): Контейнер як намунаи иҷроии расм аст. Он сабук, интиқолпазир ва дорои барномаи оғозёфта мебошад. Контейнерҳоро метавон зуд оғоз кард, боздошт, интиқол ва масштаб кард.

  • Dockerfile: Dockerfile файлест, ки маҷмӯи дастурҳоро дар бар мегирад, ки равандро барои сохтани расмҳои Docker тавсиф мекунанд. Ин муносибати декларативӣ ба сохтани расмҳо мебошад, ки такрорпазирӣ ва автоматизатсияро таъмин мекунад.

    # Намунаи Dockerfile
    FROM alpine:3.14 // Расми асосӣ
    RUN apk add --no-cache nginx // Насб кардани бастаҳо
    COPY html/ /usr/share/nginx/html/ // Копиркунии файлҳо
    EXPOSE 80 // Боз кардани порт
    CMD ["nginx", "-g", "daemon off;"] // Команда дар вақти оғозёбӣ
    
  • Файли системаи қабатнок (Layered Filesystem): Docker системаи файлию қабатии Union (AUFS, OverlayFS) истифода мебарад, ки имкон медиҳад, расмҳоро аз қабатҳо созанд. Ҳар як қабат маҷмӯи тағиротҳоро нисбат ба қабати пешинаи худ нишон медиҳад. Ин хусусият имкон медиҳад, ки расмҳоро зуд созанд, қабатҳоро кэш кунанд ва истифодаи самараноки фазои дискро таъмин кунанд.

  • Реестри Docker (Registry/Hub): Реестри Docker (масалан, Docker Hub, GCR, ACR) барои нигоҳдорӣ ва паҳн кардани расмҳои Docker истифода мешаванд. Ин имкон медиҳад, ки расмҳо байни таҳиягарон, гурӯҳҳо ва муҳитҳо мубодила шаванд.

  • Интиқолпазирӣ: Расмҳо ва контейнерҳо тарҳрезӣ шудаанд, ки интиқолпазир бошанд. Расми, ки дар платформаи як сохта шудааст, метавонад дар платформаи дигар, ки Docker насб шудааст, ба осонӣ оғоз шавад, бе ниёз ба тағир додани вобастагиҳо.

  • Тез оғоз: Оғоз кардани контейнер нисбат ба оғози мошини виртуалӣ хеле тезтар аст, зеро зарур нест, ки системаи пурраро боргирӣ кунад.

  • Самаранокии истифодаи захираҳо: Контейнерҳо захираҳои системаи ҳостро самараноктар истифода мебаранд, нисбат ба мошинҳои виртуалӣ, зеро онҳо ниёз ба ҷудо кардани ядроҳои махсуси системаи оператсионӣ надоранд.