RHEL 8-ൽ Podman, Skopeo എന്നിവ ഉപയോഗിച്ച് കണ്ടെയ്uനറുകൾ എങ്ങനെ കൈകാര്യം ചെയ്യാം


മുൻകാലങ്ങളിൽ ഡെവലപ്പർമാർ നേരിട്ട വെല്ലുവിളികളിലൊന്ന് ഒന്നിലധികം കമ്പ്യൂട്ടിംഗ് പരിതസ്ഥിതികളിൽ വിശ്വസനീയമായി പ്രവർത്തിക്കാൻ ആപ്ലിക്കേഷനുകൾ നേടുക എന്നതാണ്. പലപ്പോഴും, ആപ്ലിക്കേഷനുകൾ പ്രതീക്ഷിച്ചതുപോലെ പ്രവർത്തിക്കുന്നില്ല അല്ലെങ്കിൽ പിശകുകൾ നേരിട്ടു കൂടാതെ മൊത്തത്തിൽ പരാജയപ്പെട്ടു. അവിടെയാണ് കണ്ടെയ്നറുകൾ എന്ന ആശയം പിറന്നത്.

കണ്ടെയ്നർ ചിത്രങ്ങൾ എന്തൊക്കെയാണ്?

ഒറ്റപ്പെട്ട പരിതസ്ഥിതിയിൽ പ്രവർത്തിക്കുന്ന എക്സിക്യൂട്ടബിൾ കോഡ് ഉപയോഗിച്ച് അയയ്ക്കുന്ന സ്റ്റാറ്റിക് ഫയലുകളാണ് കണ്ടെയ്നർ ഇമേജുകൾ. ഒരു കണ്ടെയ്uനർ ഇമേജിൽ സിസ്റ്റം ലൈബ്രറികൾ, ഡിപൻഡൻസികൾ, വ്യത്യസ്uത പരിതസ്ഥിതികളിൽ പ്രവർത്തിക്കുന്നതിന് അപ്ലിക്കേഷന് ആവശ്യമായ മറ്റ് പ്ലാറ്റ്uഫോം ക്രമീകരണങ്ങൾ എന്നിവ ഉൾപ്പെടുന്നു.

ആവശ്യമായ ഡോക്കർ കമാൻഡുകൾ ഉപയോഗിച്ച് ലിനക്സ് കണ്ടെയ്uനറുകളിൽ നേരിട്ട് പ്രവർത്തിക്കാൻ നിങ്ങൾക്ക് ഉപയോഗപ്രദമായ കണ്ടെയ്uനർ ടൂളുകളുടെ ഒരു കൂട്ടം Red Hat Linux നൽകുന്നു. ഇതിൽ ഉൾപ്പെടുന്നവ:

  • Podman – OCI കണ്ടെയ്uനറുകൾ റൂട്ട് അല്ലെങ്കിൽ റൂട്ട്uലെസ്സ് മോഡിൽ പ്രവർത്തിപ്പിക്കുന്നതിനും നിയന്ത്രിക്കുന്നതിനുമുള്ള ഡെമൺ ലെസ് കണ്ടെയ്uനർ എഞ്ചിനാണ് ഇത്. പോഡ്മാൻ ഡോക്കറിന് സമാനമാണ് കൂടാതെ ഡോക്കർ ഒരു ഡെമൺ എന്നതൊഴിച്ചാൽ അതേ കമാൻഡ് ഓപ്ഷനുകളും ഉണ്ട്. നിങ്ങൾക്ക് ഡോക്കർ പോലെ തന്നെ പോഡ്മാൻ ഉപയോഗിച്ച് കണ്ടെയ്uനർ ഇമേജുകൾ വലിക്കാനും പ്രവർത്തിപ്പിക്കാനും നിയന്ത്രിക്കാനും കഴിയും. Podman ധാരാളം വിപുലമായ ഫീച്ചറുകളുമായാണ് വരുന്നത്, സിസ്റ്റങ്ങളുമായി പൂർണ്ണമായി സംയോജിപ്പിക്കുന്നു, കൂടാതെ റൂട്ട് ഉപയോക്താവിന്റെ ആവശ്യമില്ലാതെ പ്രവർത്തിക്കുന്ന കണ്ടെയ്uനറുകൾ ഉൾപ്പെടുന്ന ഉപയോക്തൃ നെയിംസ്uപേസ് പിന്തുണ വാഗ്ദാനം ചെയ്യുന്നു.
  • സ്കോപ്പിയോ: ഒരു രജിസ്ട്രിയിൽ നിന്ന് മറ്റൊന്നിലേക്ക് കണ്ടെയ്നർ ഇമേജുകൾ പകർത്താൻ ഉപയോഗിക്കുന്ന ഒരു കമാൻഡ്-ലൈൻ ടൂളാണിത്. ഒരു പ്രത്യേക ഹോസ്റ്റിലേക്ക് ചിത്രങ്ങൾ പകർത്താനും അതുപോലെ മറ്റൊരു കണ്ടെയ്uനർ രജിസ്ട്രിയിലേക്കോ പരിതസ്ഥിതിയിലേക്കോ ചിത്രങ്ങൾ പകർത്താനും നിങ്ങൾക്ക് സ്കോപ്പിയോ ഉപയോഗിക്കാം. ചിത്രങ്ങൾ പകർത്തുന്നതിന് പുറമെ, വിവിധ രജിസ്ട്രികളിൽ നിന്നുള്ള ചിത്രങ്ങൾ പരിശോധിക്കുന്നതിനും ചിത്രങ്ങൾ സൃഷ്ടിക്കുന്നതിനും പരിശോധിക്കുന്നതിനും ഒപ്പുകൾ ഉപയോഗിക്കുന്നതിനും നിങ്ങൾക്ക് ഇത് ഉപയോഗിക്കാം.
  • Buildah: ഡോക്കർ ഫയലുകൾ ഉപയോഗിച്ച് കണ്ടെയ്uനർ OCI ഇമേജുകൾ സൃഷ്uടിക്കുന്നതിനും നിയന്ത്രിക്കുന്നതിനും ഉപയോഗിക്കുന്ന കമാൻഡ്-ലൈൻ ടൂളുകളുടെ ഒരു കൂട്ടമാണിത്.

ഈ ലേഖനത്തിൽ, പോഡ്മാൻ, സ്കോപ്പിയോ എന്നിവ ഉപയോഗിച്ച് കണ്ടെയ്നറുകൾ നിയന്ത്രിക്കുന്നതിൽ ഞങ്ങൾ ശ്രദ്ധ കേന്ദ്രീകരിക്കും.

ഒരു റിമോട്ട് രജിസ്ട്രിയിൽ നിന്ന് കണ്ടെയ്നർ ചിത്രങ്ങൾ തിരയുന്നു

കണ്ടെയ്uനർ ഇമേജുകൾക്കായി തിരഞ്ഞെടുത്ത റിമോട്ട് രജിസ്uട്രികൾ തിരയാൻ പോഡ്uമാൻ തിരയൽ കമാൻഡ് നിങ്ങളെ അനുവദിക്കുന്നു. /etc/containers/ ഡയറക്uടറിയിൽ സ്ഥിതി ചെയ്യുന്ന registries.conf ഫയലിൽ രജിസ്uട്രികളുടെ സ്ഥിരസ്ഥിതി ലിസ്റ്റ് നിർവചിച്ചിരിക്കുന്നു.

രജിസ്ട്രികൾ 3 വിഭാഗങ്ങൾ നിർവചിച്ചിരിക്കുന്നു.

  • [registries.search] – കണ്ടെയ്uനർ ഇമേജുകൾക്കായി പോഡ്uമാൻ തിരയാൻ കഴിയുന്ന ഡിഫോൾട്ട് രജിസ്uട്രികൾ ഈ വിഭാഗം വ്യക്തമാക്കുന്നു. ഇത് registry.access.redhat.com, registry.redhat.io, docker.io രജിസ്ട്രികളിൽ അഭ്യർത്ഥിച്ച ചിത്രത്തിനായി തിരയുന്നു.

  • [registries.insecure]– ഈ വിഭാഗം TLS എൻക്രിപ്ഷൻ നടപ്പിലാക്കാത്ത രജിസ്ട്രികൾ വ്യക്തമാക്കുന്നു, അതായത് സുരക്ഷിതമല്ലാത്ത രജിസ്ട്രികൾ. സ്ഥിരസ്ഥിതിയായി, എൻട്രികളൊന്നും വ്യക്തമാക്കിയിട്ടില്ല.

  • [registries.block] – ഇത് നിങ്ങളുടെ ലോക്കൽ സിസ്റ്റത്തിൽ നിന്നുള്ള നിർദ്ദിഷ്uട രജിസ്uട്രികളിലേക്കുള്ള ആക്uസസ് തടയുകയോ നിരസിക്കുകയോ ചെയ്യുന്നു. സ്ഥിരസ്ഥിതിയായി, എൻട്രികളൊന്നും വ്യക്തമാക്കിയിട്ടില്ല.

പോഡ്uമാൻ കമാൻഡ് പ്രവർത്തിപ്പിക്കുന്ന ഒരു സാധാരണ (റൂട്ട് അല്ലാത്ത) ഉപയോക്താവെന്ന നിലയിൽ, സിസ്റ്റം-വൈഡ് ക്രമീകരണങ്ങൾ അസാധുവാക്കാൻ നിങ്ങളുടെ ഹോം ഡയറക്uടറിയിൽ ($HOME/.config/containers/registries.conf) നിങ്ങളുടെ സ്വന്തം registries.conf ഫയൽ നിർവ്വചിക്കാം.

നിങ്ങൾ രജിസ്ട്രികൾ വ്യക്തമാക്കുമ്പോൾ, ഇനിപ്പറയുന്നവ മനസ്സിൽ വയ്ക്കുക:

  • ഓരോ രജിസ്ട്രിയും ഒറ്റ ഉദ്ധരണികളാൽ ഉൾപ്പെടുത്തിയിരിക്കണം.
  • ഒരു ഹോസ്റ്റ് നെയിം അല്ലെങ്കിൽ IP വിലാസം ഉപയോഗിച്ച് രജിസ്ട്രികൾ വ്യക്തമാക്കാൻ കഴിയും.
  • ഒന്നിലധികം രജിസ്ട്രികൾ വ്യക്തമാക്കിയിട്ടുണ്ടെങ്കിൽ, അവ കോമകളാൽ വേർതിരിക്കേണ്ടതാണ്.
  • ഒരു രജിസ്ട്രി ഒരു നിലവാരമില്ലാത്ത പോർട്ട് ഉപയോഗിക്കുന്നുവെങ്കിൽ - ഒന്നുകിൽ സുരക്ഷിതമായതിന് TCP പോർട്ടുകൾ 443 ഉം സുരക്ഷിതമല്ലാത്തതിന് 80 പോർട്ട് - പോർട്ട് നമ്പറും രജിസ്ട്രി പേരിനൊപ്പം വ്യക്തമാക്കണം, ഉദാ. registry.example.com:5566.

വാക്യഘടന ഉപയോഗിച്ച് ഒരു കണ്ടെയ്നർ ഇമേജിനായി ഒരു രജിസ്ട്രി തിരയാൻ:

# podman search registry/container_image

ഉദാഹരണത്തിന്, registry.redhat.io രജിസ്ട്രിയിൽ ഒരു Redis ഇമേജിനായി തിരയുന്നതിന്, കമാൻഡ് അഭ്യർത്ഥിക്കുക:

# podman search registry.redhat.io/redis

MariaDB കണ്ടെയ്uനർ ഇമേജിനായി തിരയാൻ റൺ ചെയ്യുക.

# podman search registry.redhat.io/mariadb

ഒരു കണ്ടെയ്uനർ ചിത്രത്തിന്റെ വിശദമായ വിവരണം ലഭിക്കുന്നതിന്, നിങ്ങൾക്ക് ലഭിക്കുന്ന ഫലങ്ങളിൽ നിന്ന് കണ്ടെയ്uനർ ചിത്രത്തിന്റെ പേരിന് മുമ്പായി --no-trunc ഓപ്ഷൻ ഉപയോഗിക്കുക. ഉദാഹരണത്തിന്, കാണിച്ചിരിക്കുന്നതുപോലെ MariaDB കണ്ടെയ്uനർ ചിത്രത്തിന്റെ വിശദമായ വിവരണം നേടാൻ ഞങ്ങൾ ശ്രമിക്കും:

# podman search --no-trunc registry.redhat.io/rhel8/mariadb-103

കണ്ടെയ്നർ ചിത്രങ്ങൾ വലിക്കുന്നു

ഒരു റിമോട്ട് രജിസ്ട്രിയിൽ നിന്ന് കണ്ടെയ്നർ ഇമേജുകൾ വലിക്കുന്നതിനോ വീണ്ടെടുക്കുന്നതിനോ മറ്റെന്തെങ്കിലും മുമ്പ് നിങ്ങൾ ആദ്യം പ്രാമാണീകരിക്കേണ്ടതുണ്ട്. ഉദാഹരണത്തിന്, MariaDB കണ്ടെയ്uനർ ഇമേജ് വീണ്ടെടുക്കുന്നതിന്, ആദ്യം Redhat രജിസ്ട്രിയിലേക്ക് ലോഗിൻ ചെയ്യുക:

# podman login

നിങ്ങളുടെ ഉപയോക്തൃനാമവും പാസ്uവേഡും നൽകി നിങ്ങളുടെ കീബോർഡിൽ 'ENTER' അമർത്തുക. എല്ലാം ശരിയാണെങ്കിൽ, രജിസ്ട്രിയിലേക്കുള്ള പ്രവേശനം വിജയകരമാണെന്ന് നിങ്ങൾക്ക് ഒരു സ്ഥിരീകരണ സന്ദേശം ലഭിക്കും.

Login Succeeded!

ഇപ്പോൾ, കാണിച്ചിരിക്കുന്ന വാക്യഘടന ഉപയോഗിച്ച് നിങ്ങൾക്ക് ചിത്രം വലിക്കാൻ കഴിയും:

# podman pull <registry>[:<port>]/[<namespace>/]<name>:<tag>

<registry> എന്നത് TCP <port>-ൽ കണ്ടെയ്uനർ ഇമേജുകളുടെ ഒരു ശേഖരം നൽകുന്ന റിമോട്ട് ഹോസ്റ്റ് അല്ലെങ്കിൽ രജിസ്ട്രിയെ സൂചിപ്പിക്കുന്നു. <namespace>, name> എന്നിവ രജിസ്ട്രിയിലെ <namespace> അടിസ്ഥാനമാക്കിയുള്ള ഒരു കണ്ടെയ്uനർ ചിത്രം വ്യക്തമാക്കുന്നു. അവസാനമായി, <tag> ഓപ്ഷൻ കണ്ടെയ്നർ ചിത്രത്തിന്റെ പതിപ്പ് വ്യക്തമാക്കുന്നു. ഒന്നും വ്യക്തമാക്കിയിട്ടില്ലെങ്കിൽ, ഡിഫോൾട്ട് ടാഗ് - ഏറ്റവും പുതിയത് - ഉപയോഗിക്കുന്നു.

വിശ്വസനീയമായ രജിസ്ട്രികൾ ചേർക്കാൻ എപ്പോഴും ശുപാർശ ചെയ്യപ്പെടുന്നു, അതാണ് എൻക്രിപ്ഷൻ നൽകുന്നതും ക്രമരഹിതമായ പേരുകളുള്ള അക്കൗണ്ടുകൾ സൃഷ്ടിക്കാൻ അജ്ഞാത ഉപയോക്താക്കളെ അനുവദിക്കാത്തതും.

MariaDB ഇമേജ് വലിക്കാൻ, കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

# podman pull registry.redhat.io/rhel8/mariadb-103

  • The registry> – registry.redhat.io
  • The <namespace> – rhel8
  • The <name> – MariaDB
  • The <tag> – 103

തുടർന്നുള്ള കണ്ടെയ്uനർ ഇമേജുകൾ വലിക്കുന്നതിന്, നിങ്ങൾ ഇതിനകം തന്നെ പ്രാമാണീകരിച്ചതിനാൽ കൂടുതൽ ലോഗിൻ ചെയ്യേണ്ടതില്ല. ഒരു Redis കണ്ടെയ്uനർ ചിത്രം വലിക്കാൻ, പ്രവർത്തിപ്പിക്കുക:

# podman pull registry.redhat.io/rhscl/redis-5-rhel7

കണ്ടെയ്നർ ചിത്രങ്ങൾ ലിസ്റ്റുചെയ്യുന്നു

നിങ്ങൾ ഇമേജുകൾ വലിച്ചുകഴിഞ്ഞാൽ, പോഡ്മാൻ ഇമേജുകൾ കമാൻഡ് പ്രവർത്തിപ്പിച്ച് നിങ്ങളുടെ ഹോസ്റ്റിൽ നിലവിലുള്ള ചിത്രങ്ങൾ നിങ്ങൾക്ക് കാണാൻ കഴിയും.

# podman images

കണ്ടെയ്നർ ചിത്രങ്ങൾ പരിശോധിക്കുന്നു

ഒരു കണ്ടെയ്നർ പ്രവർത്തിപ്പിക്കുന്നതിന് മുമ്പ്, ചിത്രം പരിശോധിച്ച് അത് എന്താണ് ചെയ്യുന്നതെന്ന് മനസ്സിലാക്കുന്നത് എല്ലായ്പ്പോഴും നല്ലതാണ്. പോഡ്മാൻ ഇൻസ്പെക്റ്റ് കമാൻഡ് OS, ആർക്കിടെക്ചർ തുടങ്ങിയ കണ്ടെയ്നറിനെക്കുറിച്ചുള്ള മെറ്റാഡാറ്റയുടെ ഒരു കടൽ പ്രിന്റ് ചെയ്യുന്നു.

ഒരു ഇമേജ് പരിശോധിക്കുന്നതിന്, ഇമേജ് ഐഡി അല്ലെങ്കിൽ റിപ്പോസിറ്ററിക്ക് ശേഷം പോഡ്മാൻ ഇൻസ്പെക്റ്റ് കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

# podman inspect IMAGE ID
OR
# podman inspect REPOSITORY

ചുവടെയുള്ള ഉദാഹരണത്തിൽ, ഞങ്ങൾ MariaDB കണ്ടെയ്uനർ പരിശോധിക്കുന്നു.

# podman inspect registry.redhat.io/rhel8/mariadb-103

ഒരു കണ്ടെയ്uനറിനായുള്ള നിർദ്ദിഷ്uട മെറ്റാഡാറ്റ വലിക്കുന്നതിന്, --format ഓപ്uഷനും തുടർന്ന് മെറ്റാഡാറ്റയും കണ്ടെയ്uനർ ഐഡന്റിറ്റിയും (ചിത്രം ഐഡി അല്ലെങ്കിൽ പേര്) നൽകുക.

ചുവടെയുള്ള ഉദാഹരണത്തിൽ, 'ലേബലുകൾ' വിഭാഗത്തിന് കീഴിൽ വരുന്ന RHEL 8 ബേസ് കണ്ടെയ്uനറിന്റെ ആർക്കിടെക്ചറിനെയും വിവരണത്തെയും കുറിച്ചുള്ള വിവരങ്ങൾ ഞങ്ങൾ വീണ്ടെടുക്കുകയാണ്.

# podman inspect --format=’{{.Labels.architecture}}’ image ID
# podman inspect --format=’{{.Labels.description}}’ image ID

മറ്റൊരു രജിസ്ട്രിയിൽ നിന്ന് ഒരു റിമോട്ട് ഇമേജ് പരിശോധിക്കുന്നതിന്, skopeo inspect കമാൻഡ് ഉപയോഗിക്കുക. ചുവടെയുള്ള ഉദാഹരണത്തിൽ, ഡോക്കറിൽ ഹോസ്റ്റ് ചെയ്uതിരിക്കുന്ന ഒരു RHEL 8 init ഇമേജ് ഞങ്ങൾ പരിശോധിക്കുന്നു.

# skopeo inspect docker://registry.redhat.io/rhel8-beta/rhel-init

കണ്ടെയ്നർ ചിത്രങ്ങൾ ടാഗുചെയ്യുന്നു

നിങ്ങൾ സൂചിപ്പിച്ചതുപോലെ, ചിത്രങ്ങളുടെ പേരുകൾ സാധാരണ സ്വഭാവമുള്ളതാണ്. ഉദാഹരണത്തിന്, redis ഇമേജ് ലേബൽ ചെയ്തിരിക്കുന്നു:

registry.redhat.io/rhscl/redis-5-rhel7

ഇമേജുകൾ ടാഗുചെയ്യുന്നത് അവയിൽ അടങ്ങിയിരിക്കുന്നതെന്തെന്ന് നന്നായി മനസ്സിലാക്കാൻ കൂടുതൽ അവബോധജന്യമായ പേര് നൽകുന്നു. പോഡ്മാൻ ടാഗ് കമാൻഡ് ഉപയോഗിച്ച്, നിങ്ങൾക്ക് ഒരു ഇമേജ് ടാഗ് സൃഷ്ടിക്കാൻ കഴിയും, അത് വ്യത്യസ്ത ഭാഗങ്ങൾ ഉൾക്കൊള്ളുന്ന ഒരു ചിത്രത്തിന്റെ പേരിന്റെ അപരനാമമാണ്.

ഇവയാണ്:

registry/username/NAME:tag

ഉദാഹരണത്തിന്, 646f2730318c യുടെ ഐഡി ഉള്ള Redis ഇമേജിന്റെ ജനറിക് നാമം മാറ്റുന്നതിന്, ഞങ്ങൾ കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യും:

# podman tag 646f2730318c myredis

അവസാനം ഒരു ടാഗ് ചേർക്കുന്നതിന്, ടാഗ് നമ്പറിനൊപ്പം ഒരു പൂർണ്ണ കോളൺ ചേർക്കുക:

# podman tag 646f2730318c myredis:5.0

ടാഗ് നമ്പർ ചേർക്കാതെ, അതിന് ഏറ്റവും പുതിയ ആട്രിബ്യൂട്ട് നൽകപ്പെടും.

റണ്ണിംഗ് കണ്ടെയ്നർ ചിത്രങ്ങൾ

ഒരു കണ്ടെയ്നർ പ്രവർത്തിപ്പിക്കുന്നതിന്, പോഡ്മാൻ റൺ കമാൻഡ് ഉപയോഗിക്കുക. ഉദാഹരണത്തിന്:

# podman run image_id

ഒരു ഡെമൺ സേവനമായി പശ്ചാത്തലത്തിൽ ഒരു കണ്ടെയ്uനർ നിശബ്ദമായി പ്രവർത്തിപ്പിക്കുന്നതിന് കാണിച്ചിരിക്കുന്നതുപോലെ -d ഓപ്ഷൻ ഉപയോഗിക്കുക.

# podman run -d image_id

ഉദാഹരണത്തിന്, ID 646f2730318c ഉപയോഗിച്ച് redis ഇമേജ് പ്രവർത്തിപ്പിക്കുന്നതിന്, ഞങ്ങൾ കമാൻഡ് അഭ്യർത്ഥിക്കും:

# podman run -d 646f2730318c

RHEL 8 ബേസ് ഇമേജ് പോലുള്ള ഒരു ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തെ അടിസ്ഥാനമാക്കിയാണ് നിങ്ങൾ ഒരു കണ്ടെയ്uനർ പ്രവർത്തിപ്പിക്കുന്നതെങ്കിൽ, -it നിർദ്ദേശം ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഷെല്ലിലേക്ക് ആക്uസസ് നേടാം. -i ഓപ്ഷൻ ഒരു ഇന്ററാക്ടീവ് സെഷൻ സൃഷ്ടിക്കുമ്പോൾ -t ഒരു ടെർമിനൽ സെഷൻ ഉണ്ടാക്കുന്നു. --name ഓപ്ഷൻ കണ്ടെയ്uനറിന്റെ പേര് mybash ആയി സജ്ജീകരിക്കുന്നു, അതേസമയം അടിസ്ഥാന ചിത്രത്തിന്റെ ecbc6f53bba0 ഇമേജ് ഐഡിയാണ്.

# podman run -it --name=mybash ecbc6f53bba0

അതിനുശേഷം, നിങ്ങൾക്ക് ഏതെങ്കിലും ഷെൽ കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കാൻ കഴിയും. ചുവടെയുള്ള ഉദാഹരണത്തിൽ, കണ്ടെയ്നർ ചിത്രത്തിന്റെ OS പതിപ്പ് ഞങ്ങൾ പരിശോധിക്കുന്നു.

# cat /etc/os-release

കണ്ടെയ്നറിൽ നിന്ന് പുറത്തുകടക്കാൻ, എക്സിറ്റ് കമാൻഡ് അഭ്യർത്ഥിക്കുക.

# exit

കണ്ടെയ്നർ പുറത്തുകടന്നുകഴിഞ്ഞാൽ, അത് യാന്ത്രികമായി നിർത്തുന്നു. കണ്ടെയ്നർ വീണ്ടും ആരംഭിക്കുന്നതിന്, കാണിച്ചിരിക്കുന്നതുപോലെ -ai ഫ്ലാഗ് ഉപയോഗിച്ച് പോഡ്മാൻ സ്റ്റാർട്ട് കമാൻഡ് ഉപയോഗിക്കുക.

# podman start -ai mybash

ഒരിക്കൽ കൂടി, ഇത് നിങ്ങൾക്ക് ഷെല്ലിലേക്ക് പ്രവേശനം നൽകുന്നു.

റണ്ണിംഗ് കണ്ടെയ്നർ ചിത്രങ്ങൾ ലിസ്റ്റുചെയ്യുന്നു

നിലവിൽ പ്രവർത്തിക്കുന്ന കണ്ടെയ്uനറുകൾ ലിസ്റ്റുചെയ്യുന്നതിന്, കാണിച്ചിരിക്കുന്നതുപോലെ podman ps കമാൻഡ് ഉപയോഗിക്കുക.

# podman ps

പ്രവർത്തിപ്പിച്ചതിന് ശേഷം പുറത്തുകടന്നവ ഉൾപ്പെടെ എല്ലാ കണ്ടെയ്uനറുകളും കാണുന്നതിന്, കമാൻഡ് ഉപയോഗിക്കുക:

# podman ps -a

Systemd സേവനത്തിന് കീഴിൽ യാന്ത്രികമായി ആരംഭിക്കുന്നതിന് കണ്ടെയ്നർ ഇമേജുകൾ കോൺഫിഗർ ചെയ്യുക

ഈ വിഭാഗത്തിൽ, ഒരു systemd സേവനമായി ഒരു RHEL സിസ്റ്റത്തിൽ നേരിട്ട് പ്രവർത്തിപ്പിക്കുന്നതിന് ഒരു കണ്ടെയ്നർ എങ്ങനെ കോൺഫിഗർ ചെയ്യാം എന്നതിൽ ഞങ്ങൾ ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നു.

ആദ്യം, നിങ്ങൾ തിരഞ്ഞെടുത്ത ചിത്രം നേടുക. ഈ സാഹചര്യത്തിൽ, ഡോക്കർ ഹബിൽ നിന്ന് ഞങ്ങൾ Redis ചിത്രം പിൻവലിച്ചു:

# podman pull docker.io/redis

നിങ്ങളുടെ സിസ്റ്റത്തിൽ SELinux പ്രവർത്തിക്കുന്നുവെങ്കിൽ, systemd ഉപയോഗിച്ച് കണ്ടെയ്uനറുകൾ പ്രവർത്തിപ്പിക്കുന്നതിന് നിങ്ങൾ കണ്ടെയ്uനർ_മാനേജ്_സിഗ്രൂപ്പ് ബൂലിയൻ സജീവമാക്കേണ്ടതുണ്ട്.

# setsebool -p container_manage_cgroup on

അതിനുശേഷം, കണ്ടെയ്uനർ ചിത്രം പശ്ചാത്തലത്തിൽ റൺ ചെയ്uത് നിങ്ങൾ തിരഞ്ഞെടുത്ത ചിത്രത്തിന്റെ പേരിലേക്ക് അസൈൻ ചെയ്യുക. ഈ ഉദാഹരണത്തിൽ, ഞങ്ങൾ ഞങ്ങളുടെ ഇമേജ് redis_server എന്ന് നാമകരണം ചെയ്യുകയും കണ്ടെയ്നറിൽ നിന്ന് RHEL 8 ഹോസ്റ്റിലേക്ക് പോർട്ട് 6379 മാപ്പ് ചെയ്യുകയും ചെയ്തു.

# podman run -d --name redis_server -p 6379:6379 redis

അടുത്തതായി, /etc/systemd/system/ ഡയറക്uടറിയിൽ redis-നായി ഒരു systemd യൂണിറ്റ് കോൺഫിഗറേഷൻ ഫയൽ ഉണ്ടാക്കാൻ പോകുന്നു.

# vim /etc/systemd/system/redis-container.service

ചുവടെയുള്ള ഉള്ളടക്കം ഫയലിൽ ഒട്ടിക്കുക.

[Unit]
Description=Redis container

[Service]
Restart=always
ExecStart=/usr/bin/podman start -a redis_server
ExecStop=/usr/bin/podman stop -t 2 redis_server

[Install]
WantedBy=local.target

ഫയൽ സംരക്ഷിച്ച് പുറത്തുകടക്കുക.

അടുത്തതായി, ബൂട്ടപ്പിൽ യാന്ത്രികമായി ആരംഭിക്കുന്നതിന് കണ്ടെയ്നർ കോൺഫിഗർ ചെയ്യുക.

# systemctl enable redis-container.service

അടുത്തതായി, കണ്ടെയ്നർ ആരംഭിച്ച് അതിന്റെ പ്രവർത്തന നില പരിശോധിക്കുക.

# systemctl start redis-container.service
# systemctl status redis-container.service

കണ്ടെയ്നർ ഇമേജുകൾക്കായി പെർസിസ്റ്റന്റ് സ്റ്റോറേജ് കോൺഫിഗർ ചെയ്യുക

കണ്ടെയ്uനറുകൾ പ്രവർത്തിപ്പിക്കുമ്പോൾ, ഹോസ്റ്റിൽ സ്ഥിരമായ ബാഹ്യ സംഭരണം കോൺഫിഗർ ചെയ്യുന്നത് വിവേകമാണ്. കണ്ടെയ്നർ തകരുകയോ ആകസ്മികമായി നീക്കം ചെയ്യുകയോ ചെയ്താൽ ഇത് ഒരു ബാക്കപ്പ് നൽകുന്നു.

ഡാറ്റ നിലനിർത്താൻ, ഞങ്ങൾ ഹോസ്റ്റിൽ സ്ഥിതിചെയ്യുന്ന ഒരു ഡയറക്ടറി കണ്ടെയ്uനറിനുള്ളിലെ ഒരു ഡയറക്ടറിയിലേക്ക് മാപ്പ് ചെയ്യാൻ പോകുന്നു.

$ podman run --privileged -it -v /var/lib/containers/backup_storage:/mnt registry.redhat.io/ubi8/ubi /bin/bash

SELinux എൻഫോഴ്uസ് ചെയ്യുന്നതിനായി സജ്ജീകരിക്കുമ്പോൾ --privileged ഓപ്ഷൻ കടന്നുപോകുന്നു. -v ഓപ്ഷൻ ഹോസ്റ്റിൽ സ്ഥിതി ചെയ്യുന്ന ബാഹ്യ വോളിയം വ്യക്തമാക്കുന്നു. ഇവിടെ കണ്ടെയ്നർ വോളിയം /mnt ഡയറക്ടറി ആണ്.

ഒരിക്കൽ നമ്മൾ ഷെൽ ആക്uസസ് ചെയ്uതുകഴിഞ്ഞാൽ, കാണിച്ചിരിക്കുന്നതുപോലെ /mnt ഡയറക്uടറിയിൽ ഞങ്ങൾ testing.txt എന്ന സാമ്പിൾ ഫയൽ സൃഷ്uടിക്കാൻ പോകുന്നു.

$ echo "This tests persistent external storage" > /mnt/testing.txt

തുടർന്ന് ഞങ്ങൾ കണ്ടെയ്uനറിൽ നിന്ന് പുറത്തുകടന്ന് ഹോസ്റ്റിൽ വസിക്കുന്ന ബാഹ്യ സംഭരണത്തിൽ ഫയൽ നിലവിലുണ്ടോ എന്ന് പരിശോധിക്കും

# exit
# cat /var/lib/containers/backup_storage/testing.txt

ഔട്ട്പുട്ട് ⇒ ഇത് സ്ഥിരമായ ബാഹ്യ സംഭരണം പരിശോധിക്കുന്നു.

കണ്ടെയ്നറുകൾ നിർത്തുകയും നീക്കം ചെയ്യുകയും ചെയ്യുന്നു

നിങ്ങളുടെ കണ്ടെയ്uനർ പ്രവർത്തിപ്പിച്ചുകഴിഞ്ഞാൽ, പോഡ്uമാൻ പിഎസ് കമാൻഡിൽ നിന്ന് നിങ്ങൾക്ക് നേടാനാകുന്ന കണ്ടെയ്uനർ-ഐഡിക്ക് ശേഷം പോഡ്uമാൻ സ്റ്റോപ്പ് കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഇത് നിർത്താനാകും.

# podman stop container-id

നിങ്ങൾക്ക് ഇനി ആവശ്യമില്ലാത്ത കണ്ടെയ്uനറുകൾ നീക്കംചെയ്യുന്നതിന്, ആദ്യം, നിങ്ങൾ അത് നിർത്തുന്നുവെന്ന് ഉറപ്പാക്കുക, തുടർന്ന് കണ്ടെയ്uനർ ഐഡി അല്ലെങ്കിൽ പേര് ഒരു ഓപ്ഷനായി പോഡ്uമാൻ rm കമാൻഡ് അഭ്യർത്ഥിക്കുക.

# podman rm container-id

ഒരു കമാൻഡിൽ ഒറ്റയടിക്ക് ഒന്നിലധികം കണ്ടെയ്uനറുകൾ നീക്കംചെയ്യുന്നതിന്, ഒരു സ്uപെയ്uസ് കൊണ്ട് വേർതിരിച്ച കണ്ടെയ്uനർ ഐഡികൾ വ്യക്തമാക്കുക.

# podman rm container-id-1 container-id-2 container-id-3

നിങ്ങളുടെ എല്ലാ കണ്ടെയ്uനറുകളും മായ്uക്കാൻ, കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

# podman rm -a

ഒരു ചിത്രം നീക്കംചെയ്യുന്നു

ഒരു ചിത്രം നീക്കം ചെയ്യുന്നതിനായി, ആദ്യം, ചിത്രങ്ങളിൽ നിന്ന് ഉരുത്തിരിഞ്ഞ എല്ലാ കണ്ടെയ്uനറുകളും മുമ്പത്തെ ഉപവിഷയത്തിൽ ചർച്ച ചെയ്uതതുപോലെ നിർത്തിയിട്ടുണ്ടെന്നും നീക്കം ചെയ്uതിട്ടുണ്ടെന്നും ഉറപ്പാക്കുക.

അടുത്തതായി, മുന്നോട്ട് പോയി, കാണിച്ചിരിക്കുന്നതുപോലെ ചിത്രത്തിന്റെ ഐഡിക്ക് ശേഷം പോഡ്മാൻ -rmi കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

# podman -rmi image-id

ഉപസംഹാരം

RHEL 8-ലെ കണ്ടെയ്uനറുകൾ കൈകാര്യം ചെയ്യുന്നതിനും അവയ്uക്കൊപ്പം പ്രവർത്തിക്കുന്നതിനുമുള്ള ഈ അദ്ധ്യായം ഇത് അവസാനിപ്പിക്കുന്നു. ഈ ഗൈഡ് കണ്ടെയ്uനറുകളെക്കുറിച്ചും പോഡ്uമാനും സ്uകോപ്പിയോയും ഉപയോഗിച്ച് നിങ്ങളുടെ RHEL സിസ്റ്റത്തിൽ എങ്ങനെ സംവദിക്കാനും നിയന്ത്രിക്കാനും കഴിയും എന്നതിനെക്കുറിച്ചും മാന്യമായ ഒരു ധാരണ നൽകുമെന്ന് ഞങ്ങൾ പ്രതീക്ഷിക്കുന്നു.