Text size
എന്റെ റഡാറിൽ6 മിനിറ്റ് വായന

ഡോക്കർ, പോഡ്മാൻ, കണ്ടെയ്നർ: എന്താണ് വ്യത്യാസം?

നിങ്ങളുടെ കണ്ടെയ്നറുകളും ഡോക്കർ ഡെസ്ക്ടോപ്പ് ബദലുകളും പ്രവർത്തിപ്പിക്കുന്നതെന്താണ്?

Docker, Podman, containerd: what's the difference?
AI ഉപയോഗിച്ച് സൃഷ്ടിച്ച ചിത്രീകരണം

ആളുകൾ "കണ്ടെയ്നർ" എന്ന് പറയുമ്പോൾ, അവർ പലപ്പോഴും "ഡോക്കർ" എന്നാണ് ഉദ്ദേശിക്കുന്നത്. പക്ഷെ ഡോക്കർ ഒരു കൂട്ടം ലെയറുകളിലെ ഒരു ടൂൾ മാത്രമാണ്, Kubernetes ഉൾപ്പെടെ പലയിടത്തും ഡോക്കർ ഇനിമേൽ ഉൾപ്പെട്ടിട്ടില്ല.

നിങ്ങളുടെ കണ്ടെയ്നറുകൾ യഥാർത്ഥത്തിൽ പ്രവർത്തിപ്പിക്കുന്നത് എന്താണെന്ന് മനസിലാക്കുന്നത് ഡീബഗ്ഗിംഗ് ചെയ്യുമ്പോഴും ഉപകരണങ്ങൾ തിരഞ്ഞെടുക്കുമ്പോഴും "കുബർനെറ്റസ് ഡോക്കർ പിന്തുണ നീക്കം ചെയ്യുന്നു" (ഇത് 2020 ൽ ഭയപ്പെടുത്തുന്നതായി തോന്നിയെങ്കിലും മിക്കവാറും അപകടകരമല്ലെന്ന് കണ്ടെത്തി) പോലുള്ള തലക്കെട്ടുകൾക്ക് അർത്ഥം നൽകുമ്പോൾ സഹായിക്കുന്നു.

കണ്ടെയ്നർ സ്റ്റാക്ക്

താഴെ നിന്ന് മുകളിലേക്ക്:

1. ഒരു പാരമ്പര്യം ലിനക്സ് കേർണൽ. കണ്ടെയ്നറുകൾ എന്നത് "കണ്ടെയ്നർ" എന്ന ഒരു കെർണൽ സവിശേഷതയല്ല. അവയുടെ സംയോജനമാണ് നാമമേഖലകൾ (ഒരു പ്രക്രിയയ്ക്ക് കാണാൻ കഴിയുന്നവയെ ഒറ്റപ്പെടുത്തുന്നുഃ പ്രക്രിയകൾ, നെറ്റ്വർക്ക്, ഫയലുകൾ, ഉപയോക്താക്കൾ) ഗ്രൂപ്പുകൾ (അത് ഉപയോഗിക്കാൻ കഴിയുന്നവ പരിമിതപ്പെടുത്തുന്നു: സിപിയു, മെമ്മറി, ഐ / ഒ). എല്ലാ കണ്ടെയ്നര് റൺടൈമും ഇവ ഉപയോഗിക്കുന്നു.

2. താഴ്ന്ന നിലയിലുള്ള റൺടൈം (ഒസിഐ റൺടೈം). ശരിയായ നെയിംസ്പെയ്സുകളും cഗ്രൂപ്പുകളും ഉപയോഗിച്ച് കണ്ടെയ്നർ പ്രക്രിയ സൃഷ്ടിക്കുന്ന ഒരു ചെറിയ പ്രോഗ്രാം. സാധാരണ രീതിയില് റൺ. ഇതരമാർഗങ്ങള് കരി (വേഗതയേറിയ, സി എഴുതിയത്), ജിവിസോര് (ഒരു ഉപയോക്തൃ സ്പേസ് കെർണൽ ഉപയോഗിച്ച് അധിക ഒറ്റപ്പെടൽ) കറ്റാ കണ്ടെയ്നറുകൾ (ഓരോ കണ്ടെയ്നറും ഒരു ലഘുഭാരമുള്ള വിഎമ്മിൽ).

3. ഒരു കല്ല് ഉയര് ന്ന നിലവാരത്തിലുള്ള റൺ ടൈം. ചിത്രങ്ങൾ, സംഭരണം, നെറ്റ് വർക്കിംഗ്, കണ്ടെയ്നറുകളുടെ ജീവിതചക്രം എന്നിവ നിയന്ത്രിക്കുന്നു, കുറഞ്ഞ ലെവൽ റൺടൈം വിളിക്കുന്നു. അവയില് പ്രധാനപ്പെട്ടവ കണ്ടെയ്നർ (സി.എൻ.സി.എഫ്. ബിരുദധാരിയായ പദ്ധതി) സി. ആർ. ഐ. ഒ. (കുബർനെറ്റിസിനായി പ്രത്യേകം നിർമ്മിച്ചതാണ്).

4. ഉപകരണങ്ങളും ഇന്റർഫേസുകളും. മനുഷ്യരും പ്ലാറ്റ്ഫോമുകളും സംസാരിക്കുന്നത്: ഡോക്കർ സി. ഐ. എലും എഞ്ചിനും, പോഡ്മാൻ, നര് ദ്ഡ്ട്, കുബർനെറ്റസ് എന്നിവയും കുബേലെറ്റ് (ഇത് കണ്ടെയ്നർ റൺടൈം ഇന്റർഫേസ്, സി. ആർ. ഐ).

ഇതെല്ലാം ഒരുമിച്ചുനില് ക്കുന്നതും ഒ. സി. ഐ മാനദണ്ഡങ്ങൾ (ഓപ്പൺ കണ്ടെയ്നർ ഇനീഷ്യേറ്റീവ്): ഒരു സാധാരണ ഇമേജ് ഫോർമാറ്റും ഒരു സാധാരണ റൺടൈം സ്പെസിഫിക്കേഷനും. അതിനാലാണ് ഡോക്കർ ഉപയോഗിച്ച് നിർമ്മിച്ച ചിത്രം പോഡ്മാൻ, കണ്ടെയ്നർ, സിആർഐ-ഒ എന്നിവ ഉപയോഗിച്ച് പ്രവർത്തിക്കുന്നത്.

ഒരു കണ്ടെയ്നർ എന്നത് ഒരു ലിനക്സ് പ്രക്രിയയാണ്, ഒരു ബജറ്റും, മിന്നൽ വിളക്കുകളും ഉള്ളത്. മറ്റെല്ലാം ആ ആശയത്തിനു ചുറ്റും നടക്കുന്നു.

കുബർനെറ്റ്സ് യഥാർത്ഥത്തിൽ ഉപയോഗിക്കുന്നത്

CRI വഴി റൺടൈമുകളുമായി സംസാരിക്കുന്നു. ഡോക്കർ എഞ്ചിൻ ഒരിക്കലും സിആർഐ നേരിട്ട് നടപ്പിലാക്കിയിട്ടില്ല, അതിനാൽ കുബർനെറ്റസ് ഒരു അഡാപ്റ്റർ ഉപയോഗിച്ചു കറവ. കുബർനെറ്റസ് 1.24 (2022) ൽ, ഡോക്കർഷിം നീക്കം ചെയ്തു.

പ്രായോഗികമായി അത് എന്താണ് അർത്ഥമാക്കുന്നത്:

  • ക്ലസ്റ്ററുകൾ ഇപ്പോൾ ഉപയോഗിക്കുന്നു കണ്ടെയ്നർ അല്ലെങ്കില് സി. ആർ. ഐ. ഒ. നേരിട്ട് മിക്ക നിയന്ത്രിത കുബർനെറ്റ്സ് സേവനങ്ങളും (EKS, AKS, GKE) കണ്ടെയ്നർ ഉപയോഗിക്കുന്നു.
  • ഡോക്കറിലൂടെ നിർമ്മിച്ച ചിത്രങ്ങള് ഇപ്പോഴും എല്ലായിടത്തും പ്രവർത്തിക്കുന്നുകാരണം അവ സാധാരണ OCI ചിത്രങ്ങളാണ്.
  • എന്തൊക്കെ പ്രവർത്തിക്കാതിരുന്നു: നോഡുകളിലെ ഡോക്കർ സോക്കറ്റിനെ ആശ്രയിച്ചിരുന്ന ചില കാര്യങ്ങൾ, ചില പഴയ മോണിറ്ററിംഗ് ടൂളുകൾ അല്ലെങ്കിൽ CI യിൽ നിർമ്മിച്ച "ഡോക്കർ ഇൻ ഡോക്കർ"

ഒരു നോഡിൽ, ഉപയോഗിക്കുക ക്രിക്കറ്റ് കണ്ടെയ്നറുകള് പരിശോധിക്കുന്നതിനായി docker ps:

crictl ps
crictl logs <container-id>
crictl images

ഡോക്കർ

ഡോക്കർ ഇത് കണ്ടെയ്നറുകളെ ജനപ്രിയമാക്കി, അവയ്ക്കായി ഏറ്റവും വ്യാപകമായി ഉപയോഗിക്കുന്ന ഡവലപ്പർ ടൂളായി തുടരുന്നുഃ ഇമേജുകൾ നിർമ്മിക്കുക, ലോക്കൽ കണ്ടെയ്നറുകൾ പ്രവർത്തിപ്പിക്കുക, മൾട്ടി-കണ്ടെയ്നർ സജ്ജീകരണത്തിനായി ഡോക്കർ കോമ്പോസ് ചെയ്യുക. ഡോക്കർ എഞ്ചിൻ തന്നെ അതിന്റെ അടിയിലുള്ള കണ്ടെയ്നർ ഉപയോഗിക്കുന്നു.

ഡോക്കർ ഡെസ്ക്ടോപ്പ് മാക് ഒഎസിനും വിൻഡോസിനും വേണ്ടിയുള്ള പാക്കേജുചെയ്ത ആപ്ലിക്കേഷനാണ്, ഇത് ഒരു ലിനക്സ് വിഎം പശ്ചാത്തലത്തിൽ പ്രവർത്തിപ്പിക്കുന്നു. 2021 മുതൽ, അതിന് ഒരു വലിയ കമ്പനികളുടെ പണമടച്ചുള്ള സബ്സ്ക്രിപ്ഷൻ (250 ലധികം ജീവനക്കാരോ 10 മില്യൺ ഡോളറിലധികം വാർഷിക വരുമാനമോ). അത് പല സംഘടനകളെയും ബദലുകള് നോക്കുന്നതിലേക്ക് നയിച്ചു.

പോഡ്മാനുമായി വേരുകളില്ലാത്ത

പോഡ്മാൻ, റെഡ് ഹാറ്റില് നിന്നും, ചില പ്രധാന വ്യത്യാസങ്ങളുള്ള ഡോക്കര് അനുയോജ്യമായ ഒരു ബദലാണ്:

  • ഡെമോൺസ് ഇല്ലാത്ത: റൂട്ട് അവകാശങ്ങളുള്ള ദീർഘകാല പശ്ചാത്തല സേവനമില്ല. ഓരോ കണ്ടെയ്നറും അത് ആരംഭിച്ച കമാന് ഡിന്റെ ഒരു കുട്ടി പ്രക്രിയയാണ്.
  • സ്ഥിരമായി റൂട്ട് ചെയ്യാത്തത്: കണ്ടെയ്നറുകൾ നിങ്ങളുടെ സാധാരണ ഉപയോക്താവായി പ്രവർത്തിക്കുന്നു, ഇത് കണ്ടെയ്നർ അപഹരിക്കപ്പെടാനുള്ള സാധ്യത കുറയ്ക്കുന്നു.
  • ഡോക്കർ അനുയോജ്യമായ CLI: alias docker=podman മിക്ക കമാൻഡുകളിലും പ്രവർത്തിക്കുന്നു.
  • പൂച്ചെടികൾ: കുബർനെറ്റസ് പോഡുകൾ പോലുള്ള കണ്ടെയ്നറുകൾ ഗ്രൂപ്പുചെയ്യാനും പ്രവർത്തിക്കുന്ന കണ്ടെയ്നറുകളിൽ നിന്ന് കുബർനെറ്റ്സ് YAML സൃഷ്ടിക്കാനും കഴിയും (podman kube generate).
  • ക്വാഡ്ലെറ്റ്: സിസ്റ്റം സേവനങ്ങളായി കണ്ടെയ്നറുകൾ പ്രവർത്തിപ്പിക്കുക, ലിനക്സ് സെർവറുകളുമായി നന്നായി സംയോജിപ്പിക്കുക.
  • പോഡ്മാൻ ഡെസ്ക്ടോപ്പ്മാക് ഒഎസ്, വിൻഡോസ്, ലിനക്സ് എന്നിവയ്ക്കുള്ള ഒരു സൌജന്യ ജി. യു. ഐ.
podman run --rm -p 8080:80 docker.io/library/nginx:1.27

മാക്കിലെ ഡോക്കർ ഡെസ്ക്ടോപ്പ് ബദലുകൾ

മാക്ഒഎസില് ഡോക്കർ ഡെസ്ക്ടോപ്പ് ഇല്ലാത്ത കണ്ടെയ്നറുകൾ വേണമെങ്കിൽ:

  • ഓർബ്സ്റ്റാക്ക്: വേഗതയേറിയതും ഭാരം കുറഞ്ഞതും മാക് ഡെവലപ്പർമാരുടെ ഇടയിൽ വളരെ പ്രചാരമുള്ളതുമാണ്. ബിസിനസ് ഉപയോഗത്തിനായി വാണിജ്യപരമായി, എന്നാൽ പലപ്പോഴും ഡോക്കർ ഡെസ്ക്ടോപ്പിനേക്കാൾ വിലകുറഞ്ഞതാണ്.
  • കോലിമ: ഓപ്പൺ സോഴ്സ്, കമാൻഡ് ലൈൻ, ലിമയിൽ അടിസ്ഥാനമാക്കിയുള്ളത്. ഡോക്കർ CLI അല്ലെങ്കിൽ കണ്ടെയ്നർ/നെര് ദ്ക്ത്ല് ഉപയോഗിച്ച് പ്രവർത്തിക്കുന്നു.
  • റാഞ്ചർ ഡെസ്ക്ടോപ്പ്: ഓപ്പൺ സോഴ്സ് (SUSE), ഒരു ലോക്കൽ കുബർനെറ്റ്സ് (k3s) ഉൾപ്പെടുന്നു, കൂടാതെ നിങ്ങൾ കണ്ടെയ്നർ അല്ലെങ്കിൽ ഡോക്കർ എഞ്ചിൻ തിരഞ്ഞെടുക്കാൻ അനുവദിക്കുന്നു.
  • പോഡ്മാൻ ഡെസ്ക്ടോപ്പ്: തുറന്ന സോഴ്സ്, അതിനു താഴെ പോഡ്മാൻ.
  • ആപ്പിള് സ്വന്തമായി ഓപ്പണ് സോഴ്സ് സംവിധാനവും അവതരിപ്പിച്ചിട്ടുണ്ട്. കണ്ടെയ്നർ ആപ്പിളിന്റെ സിലിക്കൺ മാക്കുകളിൽ ലിനക്സ് കണ്ടെയ്നറുകൾ പ്രവർത്തിപ്പിക്കുന്നതിനുള്ള ഒരു ഉപകരണം.

അവയെല്ലാം ചെറിയ ലിനക്സ് വിഎം ആണ് പ്രവർത്തിപ്പിക്കുന്നത്, കാരണം കണ്ടെയ്നറുകൾക്ക് ഒരു ലിനക്സ് കെർണൽ ആവശ്യമാണ്.

ഏത് ഉപയോഗിക്കണം?

  • ഡെവലപ്പർ ലാപ്ടോപ്പ്: ഡോക്കർ ഡെസ്ക്ടോപ്പ്, ലൈസൻസിംഗ് നിങ്ങൾക്ക് അനുയോജ്യമാണെങ്കിൽ; അല്ലാത്തപക്ഷം ഓർബ്സ്റ്റാക്ക്, കോലിമ, റാഞ്ചർ ഡെസ്കോപ്പ് അല്ലെങ്കിൽ പോഡ്മാൻ ഡെസ്കൊപ്പ്.
  • നേരിട്ട് കണ്ടെയ്നറുകൾ പ്രവർത്തിപ്പിക്കുന്ന ലിനക്സ് സെർവറുകൾ: ക്വാഡ്ലെറ്റിനുള്ള പോഡ്മാൻ വളരെ നല്ലതാണ്, പ്രത്യേകിച്ച് റൂട്ട്ലെസ് സജ്ജീകരണങ്ങൾക്ക്. ഡോക്കർ എഞ്ചിനും നന്നായി പ്രവർത്തിക്കുന്നു.
  • കുബർനെറ്റസ് നോഡുകൾ: കണ്ടെയ്നര് (അല്ലെങ്കില് CRI-O). സാധാരണയായി മാനേജ് ചെയ്ത സേവനങ്ങളിൽ ഇത് തിരഞ്ഞെടുക്കാറില്ല.
  • സിഐ ഇമേജ് ബിൽഡുകൾ: ബിൽഡ്കിറ്റ് (ഡോക്കർ വഴിയോ ഒറ്റയ്ക്ക് പ്രവർത്തിക്കുന്നതോ), ബിൽഡാ, അല്ലെങ്കിൽ കാനിക്കോ ശൈലിയിലുള്ള ഉപകരണങ്ങൾ ഒരു പ്രത്യേക ഡീമൺ ഇല്ലാതെ നിർമ്മിക്കുന്നതിന്.

പിന്നെ, എന്താണ് ഈ പഠനം?

"ഡോക്കർ" ഒരു ബ്രാൻഡും ഒരു ഉപകരണവും ഒരു കമ്പനിയുമാണ്. കണ്ടെയ്നറുകൾ ഒരു ലിനക്സ് സവിശേഷതയാണ്, കൂടാതെ തുറന്ന സ്റ്റാൻഡേർഡുകളും. നിങ്ങൾ ലെയറുകൾ കണ്ടുകഴിഞ്ഞാൽ, നിങ്ങളുടെ തിരഞ്ഞെടുപ്പ് ലളിതമാകും: OCI ഇമേജുകൾ നിർമ്മിക്കാൻ നിങ്ങൾ ഇഷ്ടപ്പെടുന്ന ഏത് ടൂളും ഉപയോഗിക്കുക, കൂടാതെ Kubernetes അവയെ കണ്ടെയ്നർ അല്ലെങ്കിൽ CRI-O ഉപയോഗിച്ച് പ്രവർത്തിപ്പിക്കുമെന്ന് അറിയുക.

എന്റെ അഭിപ്രായം: ഒരു തവണ പാളികൾ പഠിച്ചാൽ, "ഡോക്കർ മരിച്ചു" എന്ന തലക്കെട്ട് നിങ്ങളെ ഒരിക്കലും ആശയക്കുഴപ്പത്തിലാക്കില്ല.

ഡെസ്ലി