ഡോക്കറും വെർച്വൽ മെഷീനുകളും തമ്മിലുള്ള വ്യത്യാസങ്ങൾ മനസ്സിലാക്കുന്നു

Nodejs

ഡോക്കർ, വെർച്വൽ മെഷീനുകൾ എന്നിവയിലേക്കുള്ള ആമുഖം

ഡോക്കറും വെർച്വൽ മെഷീനുകളും (വിഎം) ആപ്ലിക്കേഷനുകൾ വിന്യസിക്കുന്നതിനുള്ള ജനപ്രിയ ഉപകരണങ്ങളാണ്, പക്ഷേ അവ അടിസ്ഥാനപരമായി വ്യത്യസ്തമായ രീതികളിൽ പ്രവർത്തിക്കുന്നു. സാധാരണയായി VM-കളുമായി ബന്ധപ്പെട്ട ഓവർഹെഡ് ഇല്ലാതെ ഒരു സമ്പൂർണ്ണ ഫയൽസിസ്റ്റം, ഒറ്റപ്പെട്ട നെറ്റ്‌വർക്കിംഗ്, മറ്റ് ഫീച്ചറുകൾ എന്നിവ എങ്ങനെ ഡോക്കറിന് നൽകാനാകുമെന്നതിൽ പല ഡവലപ്പർമാരും തങ്ങളെത്തന്നെ ആശയക്കുഴപ്പത്തിലാക്കുന്നു.

ഈ ലേഖനം ഡോക്കറും പരമ്പരാഗത വെർച്വൽ മെഷീനുകളും തമ്മിലുള്ള വ്യത്യാസങ്ങൾ വ്യക്തമാക്കാൻ ലക്ഷ്യമിടുന്നു, ഡോക്കറിനെ പലപ്പോഴും കൂടുതൽ ഭാരം കുറഞ്ഞതും സോഫ്റ്റ്‌വെയർ വിന്യസിക്കാൻ എളുപ്പവുമായി കണക്കാക്കുന്നത് എന്തുകൊണ്ടാണെന്ന് വിശദീകരിക്കുന്നു. ഉൽപ്പാദന പരിതസ്ഥിതികളിൽ ഡോക്കർ ഉപയോഗിക്കുന്നതിൻ്റെ അടിസ്ഥാന സാങ്കേതിക വിദ്യകളിലേക്കും പ്രായോഗിക നേട്ടങ്ങളിലേക്കും ഞങ്ങൾ പരിശോധിക്കും.

കമാൻഡ് വിവരണം
FROM ഒരു ഡോക്കർ കണ്ടെയ്‌നർ സൃഷ്‌ടിക്കുന്നതിന് ഉപയോഗിക്കേണ്ട അടിസ്ഥാന ചിത്രം വ്യക്തമാക്കുന്നു.
WORKDIR ഡോക്കർ കണ്ടെയ്‌നറിനുള്ളിൽ പ്രവർത്തന ഡയറക്‌ടറി സജ്ജമാക്കുന്നു.
COPY ഹോസ്റ്റ് മെഷീനിൽ നിന്ന് ഡോക്കർ കണ്ടെയ്‌നറിലേക്ക് ഫയലുകളോ ഡയറക്‌ടറികളോ പകർത്തുന്നു.
RUN നിർമ്മാണ പ്രക്രിയയിൽ ഡോക്കർ കണ്ടെയ്‌നറിൽ ഒരു കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യുന്നു.
EXPOSE റൺടൈമിൽ നിർദ്ദിഷ്‌ട നെറ്റ്‌വർക്ക് പോർട്ടുകളിൽ കണ്ടെയ്‌നർ ശ്രദ്ധിക്കുന്നുവെന്ന് ഡോക്കറെ അറിയിക്കുന്നു.
CMD ഡോക്കർ കണ്ടെയ്‌നർ ആരംഭിക്കുമ്പോൾ അതിനുള്ളിൽ പ്രവർത്തിക്കാനുള്ള കമാൻഡ് വ്യക്തമാക്കുന്നു.
config.vm.box വാഗ്രൻ്റ് വെർച്വൽ മെഷീനായി ഉപയോഗിക്കേണ്ട അടിസ്ഥാന ബോക്സ് നിർവചിക്കുന്നു.
config.vm.network ഹോസ്റ്റിൽ നിന്ന് VM-ലേക്ക് പോർട്ടുകൾ കൈമാറുന്നത് പോലുള്ള നെറ്റ്‌വർക്ക് ക്രമീകരണങ്ങൾ കോൺഫിഗർ ചെയ്യുന്നു.
config.vm.provision സജ്ജീകരണ സമയത്ത് ഷെൽ സ്ക്രിപ്റ്റുകൾ പ്രവർത്തിപ്പിക്കുന്നത് പോലെയുള്ള വെർച്വൽ മെഷീൻ എങ്ങനെ നൽകണമെന്ന് വ്യക്തമാക്കുന്നു.

Dockerfile, Vagrantfile എന്നിവ പര്യവേക്ഷണം ചെയ്യുന്നു

നൽകിയിരിക്കുന്ന ഉദാഹരണങ്ങളിൽ, ഒരു Node.js ആപ്ലിക്കേഷൻ വിന്യസിക്കുന്നതിനായി ഒരു ഡോക്കർഫയൽ എങ്ങനെ സൃഷ്ടിക്കാമെന്ന് ഞങ്ങൾ ആദ്യം കാണിച്ചുകൊടുത്തു. ഡോക്കർഫയൽ ആരംഭിക്കുന്നത് അടിസ്ഥാന ഇമേജ് ഉപയോഗിച്ച് വ്യക്തമാക്കുന്നു കമാൻഡ്, ഈ സാഹചര്യത്തിൽ, ഒരു ഔദ്യോഗിക Node.js റൺടൈം ഉപയോഗിക്കുന്നു. കണ്ടെയ്‌നറിനുള്ളിൽ വർക്കിംഗ് ഡയറക്‌ടറി സജ്ജീകരിക്കുന്നത് ഇതുപയോഗിച്ച് കൈവരിക്കുന്നു കമാൻഡ്, നിർദ്ദിഷ്ട ഡയറക്ടറിയിൽ തുടർന്നുള്ള കമാൻഡുകൾ നടപ്പിലാക്കുന്നത് ഉറപ്പാക്കുന്നു. ദി പാക്കേജ്.json ഫയലുകളും ആപ്ലിക്കേഷൻ കോഡും കണ്ടെയ്‌നറിലേക്ക് കൈമാറാൻ കമാൻഡ് ഉപയോഗിക്കുന്നു. ദി RUN കമാൻഡ് കണ്ടെയ്നറിനുള്ളിൽ ആവശ്യമായ ഡിപൻഡൻസികൾ ഇൻസ്റ്റാൾ ചെയ്യുന്നു. ആപ്ലിക്കേഷൻ ഉപയോഗിച്ച് പ്രവർത്തിക്കുന്ന പോർട്ട് ഞങ്ങൾ തുറന്നുകാട്ടുന്നു കമാൻഡ്, ഒടുവിൽ, ദി കണ്ടെയ്നർ ആരംഭിക്കുമ്പോൾ ആപ്ലിക്കേഷൻ പ്രവർത്തിപ്പിക്കുന്നതിനുള്ള കമാൻഡ് കമാൻഡ് നിർവചിക്കുന്നു.

Vagrantfile ഉദാഹരണത്തിനായി, കോൺഫിഗറേഷൻ ആരംഭിക്കുന്നത് ബേസ് ബോക്സ് വ്യക്തമാക്കുന്നതിലൂടെയാണ് കമാൻഡ്, ഇവിടെ ഉബുണ്ടു 20.04 ഉപയോഗിക്കുന്നു. നെറ്റ്‌വർക്ക് ക്രമീകരണങ്ങൾ കോൺഫിഗർ ചെയ്‌തിരിക്കുന്നത് ഉപയോഗിച്ചാണ് കമാൻഡ്, ഇത് ഹോസ്റ്റിലെ പോർട്ട് 8080, ഗസ്റ്റ് VM-ലെ പോർട്ട് 80-ലേക്ക് ഫോർവേഡ് ചെയ്യുന്നു, ഇത് VM-ൽ പ്രവർത്തിക്കുന്ന സേവനങ്ങളിലേക്ക് ബാഹ്യ ആക്സസ് അനുവദിക്കുന്നു. ദി പാക്കേജ് ലിസ്റ്റ് അപ്ഡേറ്റ് ചെയ്യുകയും Apache2 ഇൻസ്റ്റാൾ ചെയ്യുകയും ചെയ്യുന്ന ഒരു ഷെൽ സ്ക്രിപ്റ്റ് പ്രവർത്തിപ്പിക്കുന്നതിന് കമാൻഡ് ഉപയോഗിക്കുന്നു, VM-ന് ആവശ്യമായ സോഫ്‌റ്റ്‌വെയർ ലഭ്യമാക്കുന്നു. ഈ കമാൻഡുകൾ ഒരു വിഎം എൻവയോൺമെൻ്റ് സജ്ജീകരിക്കുന്നതിനുള്ള അടിസ്ഥാന ഘട്ടങ്ങൾ കാണിക്കുന്നു, ഡോക്കർ നൽകുന്ന കണ്ടെയ്നറൈസ്ഡ് എൻവയോൺമെൻ്റുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ കൂടുതൽ പരമ്പരാഗത സമീപനം വാഗ്ദാനം ചെയ്യുന്നു.

Node.js ആപ്ലിക്കേഷൻ വിന്യാസത്തിനായി ഒരു ഡോക്കർഫയൽ സൃഷ്ടിക്കുന്നു

ഒരു Node.js ആപ്ലിക്കേഷനായി ഒരു ഡോക്കർഫയൽ എങ്ങനെ സൃഷ്ടിക്കാമെന്ന് ഈ ഉദാഹരണം കാണിക്കുന്നു, ഒരു ഡോക്കർ കണ്ടെയ്‌നറിനുള്ളിൽ ആപ്പ് നിർമ്മിക്കുന്നതിനും പ്രവർത്തിപ്പിക്കുന്നതിനുമുള്ള ഘട്ടങ്ങൾ കാണിക്കുന്നു.

# Use an official Node.js runtime as a parent image
FROM node:14

# Set the working directory inside the container
WORKDIR /usr/src/app

# Copy package.json and package-lock.json to the container
COPY package*.json ./

# Install the application dependencies inside the container
RUN npm install

# Copy the rest of the application code to the container
COPY . .

# Expose the port the app runs on
EXPOSE 8080

# Define the command to run the app
CMD ["node", "app.js"]

വാഗ്രൻ്റ് ഉപയോഗിച്ച് ഒരു വെർച്വൽ മെഷീൻ സജ്ജീകരിക്കുന്നു

ഒരു VM എൻവയോൺമെൻ്റ് നിർവചിക്കുന്നതിനും ക്രമീകരിക്കുന്നതിനുമുള്ള പ്രക്രിയ പ്രകടമാക്കുന്ന ഒരു ലളിതമായ Vagrantfile ഉപയോഗിച്ച് Vagrant ഉപയോഗിച്ച് ഒരു വെർച്വൽ മെഷീൻ എങ്ങനെ സജ്ജീകരിക്കാമെന്ന് ഈ ഉദാഹരണം കാണിക്കുന്നു.

# -*- mode: ruby -*-
# vi: set ft=ruby :

# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure("2") do |config|
  # Use Ubuntu 20.04 as the base box
  config.vm.box = "ubuntu/focal64"

  # Forward port 8080 on the host to port 80 on the guest
  config.vm.network "forwarded_port", guest: 80, host: 8080

  # Provision the VM with a shell script
  config.vm.provision "shell", inline: <<-SHELL
    sudo apt-get update
    sudo apt-get install -y apache2
  SHELL
end

ഡോക്കറും വെർച്വൽ മെഷീനുകളും മനസ്സിലാക്കുന്നു

ഡോക്കറും വെർച്വൽ മെഷീനുകളും (വിഎം) തമ്മിലുള്ള പ്രധാന വ്യത്യാസങ്ങളിലൊന്ന് അവ സിസ്റ്റം ഉറവിടങ്ങൾ എങ്ങനെ ഉപയോഗിക്കുന്നു എന്നതിലാണ്. VM-കൾ ഒരു ഹൈപ്പർവൈസറിൽ പ്രവർത്തിക്കുന്നു, അത് ഹാർഡ്‌വെയറിനെ അനുകരിക്കുകയും ഒന്നിലധികം ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളെ ഒരു ഹോസ്റ്റ് മെഷീനിൽ ഒരേസമയം പ്രവർത്തിക്കാൻ അനുവദിക്കുകയും ചെയ്യുന്നു. ഇതിന് ഓരോ VM-നും ഒരു പൂർണ്ണ ഗസ്റ്റ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റം, അതിൻ്റേതായ ലൈബ്രറികൾ, ബൈനറികൾ എന്നിവ ഉൾപ്പെടുത്തേണ്ടതുണ്ട്. ഇത് കാര്യമായ സിസ്റ്റം റിസോഴ്‌സുകൾ ചെലവഴിക്കുക മാത്രമല്ല, വിന്യാസത്തിൻ്റെയും പരിപാലനത്തിൻ്റെയും മൊത്തത്തിലുള്ള വലുപ്പവും സങ്കീർണ്ണതയും വർദ്ധിപ്പിക്കുകയും ചെയ്യുന്നു.

ഇതിനു വിപരീതമായി, ഒരേ ഓപ്പറേറ്റിംഗ് സിസ്റ്റം കേർണൽ പങ്കിടാൻ ഒന്നിലധികം കണ്ടെയ്‌നറുകളെ അനുവദിക്കുന്ന കണ്ടെയ്‌നറൈസേഷൻ സാങ്കേതികവിദ്യയെ ഡോക്കർ സ്വാധീനിക്കുന്നു. ഓരോ കണ്ടെയ്‌നറും ഉപയോക്തൃ സ്ഥലത്ത് ഒരു ഒറ്റപ്പെട്ട പ്രക്രിയയായി പ്രവർത്തിക്കുന്നു. VM-കളെ അപേക്ഷിച്ച് കണ്ടെയ്‌നറുകൾ വളരെ ഭാരം കുറഞ്ഞതും വേഗതയുള്ളതുമാണ്, കാരണം അവയ്ക്ക് മുഴുവൻ OS ബൂട്ട് ചെയ്യേണ്ടതില്ല. ഒരു ലേയേർഡ് ഫയൽസിസ്റ്റം വഴി ഡോക്കർ ഫയൽസിസ്റ്റം ഐസൊലേഷൻ കൈവരിക്കുന്നു, അവിടെ ഓരോ കണ്ടെയ്നറിനും ഒരു അടിസ്ഥാന ഇമേജിന് മുകളിൽ അതിൻ്റേതായ ഫയൽസിസ്റ്റം ലെയർ ഉണ്ട്. നെയിംസ്‌പേസുകൾ ഉപയോഗിച്ചാണ് നെറ്റ്‌വർക്ക് ഐസൊലേഷൻ കൈകാര്യം ചെയ്യുന്നത്, VM-കളുമായി ബന്ധപ്പെട്ട ഓവർഹെഡ് ഇല്ലാതെ ഓരോ കണ്ടെയ്‌നറിനും ഒറ്റപ്പെട്ട നെറ്റ്‌വർക്കിംഗ് പരിതസ്ഥിതികൾ നൽകാൻ ഡോക്കറെ അനുവദിക്കുന്നു.

  1. ഡോക്കറും വിഎമ്മും തമ്മിലുള്ള പ്രാഥമിക വ്യത്യാസം എന്താണ്?
  2. ഹോസ്റ്റ് OS കേർണൽ പങ്കിടാൻ ഡോക്കർ കണ്ടെയ്‌നറൈസേഷൻ ഉപയോഗിക്കുന്നു, ഇത് ഭാരം കുറഞ്ഞതും വേഗതയുള്ളതുമാക്കുന്നു, അതേസമയം VM-കൾക്ക് പൂർണ്ണ ഗസ്റ്റ് ഒഎസും ഹൈപ്പർവൈസറും ആവശ്യമാണ്.
  3. എന്തുകൊണ്ടാണ് ഡോക്കർ കണ്ടെയ്‌നറുകൾ കൂടുതൽ കാര്യക്ഷമമായി കണക്കാക്കുന്നത്?
  4. കണ്ടെയ്‌നറുകൾ ഹോസ്റ്റ് OS കേർണൽ പങ്കിടുകയും കുറഞ്ഞ ഓവർഹെഡ് ഉള്ളതിനാൽ വേഗത്തിലുള്ള സ്റ്റാർട്ടപ്പ് സമയവും കാര്യക്ഷമമായ വിഭവ വിനിയോഗവും അനുവദിക്കുന്നു.
  5. എങ്ങനെയാണ് ഡോക്കർ ഫയൽസിസ്റ്റം ഐസൊലേഷൻ നേടുന്നത്?
  6. ഡോക്കർ ഒരു ലേയേർഡ് ഫയൽസിസ്റ്റം ഉപയോഗിക്കുന്നു, അവിടെ ഓരോ കണ്ടെയ്‌നറിനും ഒരു അടിസ്ഥാന ഇമേജിന് മുകളിൽ അതിൻ്റേതായ ഫയൽസിസ്റ്റം ലെയർ ഉണ്ട്.
  7. VM-കളുടെ പശ്ചാത്തലത്തിൽ ഒരു ഹൈപ്പർവൈസർ എന്താണ്?
  8. ഒരു ഹോസ്റ്റ് മെഷീനിൽ ഒന്നിലധികം ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളെ ഒരേസമയം പ്രവർത്തിപ്പിക്കാൻ അനുവദിക്കുന്ന, ഹാർഡ്‌വെയറിനെ അനുകരിക്കുന്ന സോഫ്റ്റ്‌വെയറാണ് ഹൈപ്പർവൈസർ.
  9. ഡോക്കർ എങ്ങനെയാണ് നെറ്റ്‌വർക്കിംഗ് ഐസൊലേഷൻ കൈകാര്യം ചെയ്യുന്നത്?
  10. ഓരോ കണ്ടെയ്‌നറിനും ഒറ്റപ്പെട്ട നെറ്റ്‌വർക്കിംഗ് പരിതസ്ഥിതികൾ നൽകാൻ ഡോക്കർ നെയിംസ്‌പേസുകൾ ഉപയോഗിക്കുന്നു.
  11. ഒരു ഡോക്കർ ഇമേജിലേക്ക് സോഫ്റ്റ്‌വെയർ വിന്യസിക്കുന്നത് VM-നേക്കാൾ എളുപ്പമായിരിക്കുന്നത് എന്തുകൊണ്ട്?
  12. ഡോക്കർ ഇമേജുകൾ എല്ലാ ഡിപൻഡൻസികളും കോൺഫിഗറേഷനുകളും ഉൾക്കൊള്ളുന്നു, വ്യത്യസ്ത പരിതസ്ഥിതികളിലുടനീളം സ്ഥിരത ഉറപ്പാക്കുന്നു.
  13. ഡോക്കറിൻ്റെ ചില സാധാരണ ഉപയോഗ കേസുകൾ ഏതൊക്കെയാണ്?
  14. മൈക്രോസർവീസസ് ആർക്കിടെക്ചർ, തുടർച്ചയായ സംയോജനം/തുടർച്ചയുള്ള വിന്യാസം (സിഐ/സിഡി), ഒറ്റപ്പെട്ട വികസന പരിതസ്ഥിതികൾ എന്നിവയ്ക്കാണ് ഡോക്കർ സാധാരണയായി ഉപയോഗിക്കുന്നത്.
  15. ഡോക്കർ കണ്ടെയ്‌നറുകൾ ഏതെങ്കിലും OS-ൽ പ്രവർത്തിക്കുമോ?
  16. ഡോക്കറിനെ പിന്തുണയ്ക്കുന്ന ഏത് ഒഎസിലും ഡോക്കർ കണ്ടെയ്‌നറുകൾക്ക് പ്രവർത്തിക്കാനാകും, പക്ഷേ അവ ഹോസ്റ്റ് ഒഎസ് കേർണൽ പങ്കിടുന്നു.
  17. ഡോക്കറിലെ അടിസ്ഥാന ചിത്രം എന്താണ്?
  18. ഡോക്കർ കണ്ടെയ്‌നറുകൾ നിർമ്മിക്കുന്നതിനുള്ള ആരംഭ പോയിൻ്റാണ് അടിസ്ഥാന ഇമേജ്, പലപ്പോഴും ഒഎസും അടിസ്ഥാന ഡിപൻഡൻസികളും ഉൾപ്പെടുന്നു.

ഡോക്കർ വേഴ്സസ് വെർച്വൽ മെഷീനുകൾ സംഗ്രഹിക്കുന്നു

ഡോക്കറും വെർച്വൽ മെഷീനുകളും താരതമ്യപ്പെടുത്തുമ്പോൾ, പ്രാഥമിക വ്യത്യാസം അവയുടെ വിഭവ വിനിയോഗത്തിലും വിന്യാസ കാര്യക്ഷമതയിലുമാണ്. വെർച്വൽ മെഷീനുകൾ പൂർണ്ണ ഗസ്റ്റ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റവും ഹൈപ്പർവൈസറും ഉപയോഗിച്ച് പ്രവർത്തിക്കുന്നു, ഇത് ഉയർന്ന വിഭവ ഉപഭോഗത്തിലേക്ക് നയിക്കുന്നു. നേരെമറിച്ച്, ഡോക്കർ കണ്ടെയ്‌നറുകൾ ഹോസ്റ്റ് OS കേർണൽ പങ്കിടുന്നു, ഇത് കൂടുതൽ ഭാരം കുറഞ്ഞതും ചടുലവുമായ പരിഹാരത്തിന് കാരണമാകുന്നു. ഒരു ലേയേർഡ് ഫയൽ സിസ്റ്റത്തിലൂടെയും നെറ്റ്‌വർക്കിംഗ് നെയിംസ്‌പേസുകളിലൂടെയും ഡോക്കർ ഒറ്റപ്പെട്ട പരിതസ്ഥിതികൾ കൈവരിക്കുന്നു, ഇത് അനുബന്ധ ഓവർഹെഡ് ഇല്ലാതെ VM-കൾക്ക് സമാനമായ പ്രവർത്തനങ്ങൾ നൽകാൻ അനുവദിക്കുന്നു. ഇത് ഡോക്കർ ഇമേജുകളിലേക്ക് സോഫ്‌റ്റ്‌വെയർ വിന്യസിക്കുന്നത് കൂടുതൽ കാര്യക്ഷമവും സ്ഥിരതയുള്ളതും വിവിധ പ്രൊഡക്ഷൻ പരിതസ്ഥിതികളിൽ കൈകാര്യം ചെയ്യുന്നത് എളുപ്പവുമാക്കുന്നു.

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