ഉബുണ്ടു 20.04-ൽ ഡോക്കർ എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യുകയും ഉപയോഗിക്കുകയും ചെയ്യാം


ഡവലപ്പർമാർക്കും സിസ്റ്റം അഡ്മിനിസ്ട്രേറ്റർമാർക്കും കണ്ടെയ്uനറുകൾ ഉപയോഗിച്ച് ആപ്ലിക്കേഷനുകൾ നിർമ്മിക്കാനും പ്രവർത്തിപ്പിക്കാനും പങ്കിടാനുമുള്ള ഏറ്റവും ജനപ്രിയവും ഓപ്പൺ സോഴ്uസ് പ്ലാറ്റ്uഫോമാണ് ഡോക്കർ. കണ്ടെയ്uനറുകൾ വഴക്കമുള്ളതും ഭാരം കുറഞ്ഞതും പോർട്ടബിൾ ആയതും അയഞ്ഞ കപ്പിൾഡ് ആയതും അളക്കാവുന്നതും കൂടുതൽ സുരക്ഷിതവുമായതിനാൽ കണ്ടെയ്uനറൈസേഷൻ (അപ്ലിക്കേഷനുകൾ വിന്യസിക്കാൻ കണ്ടെയ്uനറുകളുടെ ഉപയോഗം) ജനപ്രിയമായിക്കൊണ്ടിരിക്കുകയാണ്.

ചില അടിസ്ഥാന കമാൻഡുകൾ ഉള്ള ഉബുണ്ടു 20.04 ലിനക്സ് സിസ്റ്റത്തിൽ ഡോക്കർ എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാമെന്നും ഉപയോഗിക്കാമെന്നും പഠിക്കാൻ തുടക്കക്കാർക്ക് ഈ ലേഖനം നല്ലൊരു തുടക്കമാണ്. ഈ ഗൈഡിനായി, ഞങ്ങൾ ഡോക്കർ കമ്മ്യൂണിറ്റി എഡിഷൻ (സിഇ) ഇൻസ്റ്റാൾ ചെയ്യും.

  • ഉബുണ്ടു 20.04 സെർവറിന്റെ ഇൻസ്റ്റാളേഷൻ.
  • sudo കമാൻഡ് പ്രവർത്തിപ്പിക്കാനുള്ള പ്രത്യേകാവകാശമുള്ള ഒരു ഉപയോക്താവ്.

ഉബുണ്ടു 20.04-ൽ ഡോക്കർ ഇൻസ്റ്റാൾ ചെയ്യുന്നു

ഡോക്കറിന്റെ ഏറ്റവും പുതിയ പതിപ്പ് ഉപയോഗിക്കുന്നതിന്, ഔദ്യോഗിക ഡോക്കർ ശേഖരത്തിൽ നിന്ന് ഞങ്ങൾ ഇത് ഇൻസ്റ്റാൾ ചെയ്യും. അതിനാൽ, നിങ്ങളുടെ സിസ്റ്റത്തിലേക്ക് ഔദ്യോഗിക ഡോക്കർ ശേഖരണത്തിനായുള്ള GPG കീ ചേർത്തുകൊണ്ട് ആരംഭിക്കുക, അതിനുശേഷം ഇനിപ്പറയുന്ന കമാൻഡുകൾ ഉപയോഗിച്ച് APT ഉറവിടത്തിലേക്ക് റിപ്പോസിറ്ററി കോൺഫിഗറേഷൻ ചേർക്കുക.

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

താഴെ പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് സിസ്റ്റത്തിലേക്ക് പുതിയ ഡോക്കർ പാക്കേജുകൾ ഉൾപ്പെടുത്തുന്നതിനായി ഇപ്പോൾ APT പാക്കേജ് കാഷെ അപ്ഡേറ്റ് ചെയ്യുക.

$ sudo apt update

അടുത്തതായി, കാണിച്ചിരിക്കുന്നതുപോലെ ഡോക്കർ പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യുക.

$ sudo apt install docker-ce

ഡോക്കർ പാക്കേജ് ഇൻസ്റ്റാളേഷൻ പ്രക്രിയയിൽ, ഡോക്കർ സേവനം സ്വയമേവ ആരംഭിക്കുന്നതിനും പ്രവർത്തനക്ഷമമാക്കുന്നതിനും പാക്കേജ് ഇൻസ്റ്റാളർ systemd (സിസ്റ്റം ആൻഡ് സർവീസ് മാനേജർ) ട്രിഗർ ചെയ്യുന്നു. ഡോക്കർ സേവനം സജീവമാണെന്നും സിസ്റ്റം സ്റ്റാർട്ടപ്പിൽ സ്വയമേവ ആരംഭിക്കാൻ പ്രാപ്തമാക്കിയിട്ടുണ്ടെന്നും സ്ഥിരീകരിക്കാൻ ഇനിപ്പറയുന്ന കമാൻഡുകൾ ഉപയോഗിക്കുന്നു. കൂടാതെ, അതിന്റെ നില പരിശോധിക്കുക:

$ sudo systemctl is-active docker
$ sudo systemctl is-enabled docker
$ sudo systemctl status docker

ഡോക്കർ സേവനം നിയന്ത്രിക്കുന്നതിനും നിയന്ത്രിക്കുന്നതിനുമായി മറ്റ് നിരവധി systemctl കമാൻഡുകൾ ഉണ്ട്, അതിൽ ഇനിപ്പറയുന്നവ ഉൾപ്പെടുന്നു:

$ sudo systemctl stop docker			#stop the docker service
$ sudo systemctl start docker			#start the docker service
$ sudo systemctl  restart docker		#restart the docker service

നിങ്ങളുടെ സിസ്റ്റത്തിൽ ഇൻസ്റ്റാൾ ചെയ്തിട്ടുള്ള ഡോക്കർ സിഇയുടെ പതിപ്പ് പരിശോധിക്കുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

$ docker version

ഓപ്uഷനുകളോ ആർഗ്യുമെന്റുകളോ ഇല്ലാതെ ഡോക്കർ കമാൻഡ് പ്രവർത്തിപ്പിച്ച് നിങ്ങൾക്ക് ലഭ്യമായ ഡോക്കർ ഉപയോഗ കമാൻഡുകൾ കാണാൻ കഴിയും:

 
$ docker

സുഡോ കമാൻഡ് ഉപയോഗിച്ച് ഒരു നോൺ-റൂട്ട് ഉപയോക്താവായി ഡോക്കറിനെ നിയന്ത്രിക്കുക

സ്ഥിരസ്ഥിതിയായി, ഉപയോക്തൃ റൂട്ടിന്റെ ഉടമസ്ഥതയിലുള്ള യുണിക്സ് സോക്കറ്റിലേക്ക് (ടിസിപി പോർട്ടിന് പകരം) ഡോക്കർ ഡെമൺ ബന്ധിപ്പിക്കുന്നു. അതിനാൽ ഡോക്കർ ഡെമൺ എല്ലായ്പ്പോഴും റൂട്ട് ഉപയോക്താവായി പ്രവർത്തിക്കുന്നു, ഡോക്കർ കമാൻഡ് പ്രവർത്തിപ്പിക്കുന്നതിന്, നിങ്ങൾ സുഡോ ഉപയോഗിക്കേണ്ടതുണ്ട്.

കൂടാതെ, ഡോക്കർ പാക്കേജ് ഇൻസ്റ്റാളേഷൻ സമയത്ത്, docker എന്നൊരു ഗ്രൂപ്പ് സൃഷ്ടിക്കപ്പെടുന്നു. ഡോക്കർ ഡെമൺ ആരംഭിക്കുമ്പോൾ, അത് ഡോക്കർ ഗ്രൂപ്പിലെ അംഗങ്ങൾക്ക് ആക്സസ് ചെയ്യാവുന്ന ഒരു യുണിക്സ് സോക്കറ്റ് സൃഷ്ടിക്കുന്നു (ഇത് റൂട്ട് ഉപയോക്താവിന് തുല്യമായ പ്രത്യേകാവകാശങ്ങൾ നൽകുന്നു).

സുഡോ ഇല്ലാതെ ഡോക്കർ കമാൻഡ് പ്രവർത്തിപ്പിക്കുന്നതിന്, ഡോക്കർ ആക്സസ് ചെയ്യേണ്ട റൂട്ട് അല്ലാത്ത എല്ലാ ഉപയോക്താക്കളെയും ഡോക്കർ ഗ്രൂപ്പിൽ ഇനിപ്പറയുന്ന രീതിയിൽ ചേർക്കുക. ഈ ഉദാഹരണത്തിൽ, കമാൻഡ് നിലവിൽ ലോഗിൻ ചെയ്uതിരിക്കുന്ന ഉപയോക്താവിനെ ($USER) അല്ലെങ്കിൽ ഉപയോക്തൃനാമം ഡോക്കർ ഗ്രൂപ്പിലേക്ക് ചേർക്കുന്നു:

$ sudo usermod -aG docker $USER
OR
$ sudo usermod -aG docker username

ഗ്രൂപ്പുകളിലേക്കുള്ള മാറ്റങ്ങൾ സജീവമാക്കുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

$ newgrp docker 
$ groups

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

$ docker run hello-world

ഡോക്കർ ഇമേജുകൾക്കൊപ്പം പ്രവർത്തിക്കുന്നു

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

ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഡോക്കർ ഹബിൽ ഒരു centos ഇമേജിനായി തിരയാം:

$ docker search centos 

ഒരു ചിത്രം പ്രാദേശികമായി ഡൗൺലോഡ് ചെയ്യാൻ, പുൾ കമാൻഡ് ഉപയോഗിക്കുക. ഔദ്യോഗിക സെന്റോസ് ചിത്രം എങ്ങനെ ഡൗൺലോഡ് ചെയ്യാമെന്ന് ഈ ഉദാഹരണം കാണിക്കുന്നു.

$ docker pull centos

ഡൗൺലോഡ് പൂർത്തിയായിക്കഴിഞ്ഞാൽ, നിങ്ങളുടെ പ്രാദേശിക സിസ്റ്റത്തിൽ ലഭ്യമായ ചിത്രങ്ങൾ നിങ്ങൾക്ക് ലിസ്റ്റ് ചെയ്യാം.

$ docker images

നിങ്ങൾക്ക് ഇനി ഒരു ഇമേജ് ആവശ്യമില്ലെങ്കിൽ, നിങ്ങളുടെ സിസ്റ്റത്തിൽ നിന്ന് അത് നീക്കം ചെയ്യാം.

$ docker rmi centos
OR
$ docker rmi centos:latest    #where latest is the tag

ഡോക്കർ കണ്ടെയ്uനറുകൾ പ്രവർത്തിപ്പിക്കുകയും നിയന്ത്രിക്കുകയും ചെയ്യുന്നു

ലിനക്സിൽ നേറ്റീവ് ആയി പ്രവർത്തിക്കുന്ന ഒരു പ്രക്രിയയാണ് ഡോക്കർ കണ്ടെയ്uനർ, കൂടാതെ ഹോസ്റ്റ് മെഷീന്റെ കേർണൽ മറ്റ് കണ്ടെയ്uനറുകളുമായി പങ്കിടുന്നു. ഒരു ഡോക്കർ ചിത്രത്തെ സംബന്ധിച്ചിടത്തോളം, ഒരു കണ്ടെയ്നർ ഒരു റൺ ഇമേജ് മാത്രമാണ്.

നിങ്ങളുടെ പുതിയ centos ഇമേജിനെ അടിസ്ഥാനമാക്കി ഒരു കണ്ടെയ്uനർ ആരംഭിക്കാൻ, ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക, ഇവിടെ \centos എന്നത് പ്രാദേശിക ചിത്രത്തിന്റെ പേരും \cat /etc/centos-release ഉം ആണ് കണ്ടെയ്നറിൽ പ്രവർത്തിപ്പിക്കാനുള്ള കമാൻഡ് ഇതാണ്:

$ docker run centos cat /etc/centos-release

ഒരു കണ്ടെയ്uനർ ഒരു വ്യതിരിക്തമായ പ്രോസസ്സ് പ്രവർത്തിപ്പിക്കുന്നു, അത് അതിന്റേതായതിനാൽ ഒറ്റപ്പെട്ടതാണ്: ഫയൽ സിസ്റ്റം, നെറ്റ്uവർക്കിംഗ്, കൂടാതെ ഹോസ്റ്റിൽ നിന്ന് വേർതിരിക്കുന്ന ഐസൊലേറ്റഡ് പ്രോസസ്സ് ട്രീ. ചുവടെ കാണിച്ചിരിക്കുന്നതുപോലെ കണ്ടെയ്uനറിന്റെ ഐഡി, ഐഡി-പ്രിഫിക്uസ് അല്ലെങ്കിൽ പേര് ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഒരു കണ്ടെയ്uനർ കൈകാര്യം ചെയ്യാനാകുമെന്നത് ശ്രദ്ധിക്കുക. കമാൻഡ് പ്രവർത്തിപ്പിച്ചതിന് ശേഷം മുകളിലുള്ള കണ്ടെയ്നർ പ്രോസസ്സ് പുറത്തുകടക്കുന്നു.

ഡോക്കർ കണ്ടെയ്uനറുകൾ ലിസ്റ്റുചെയ്യുന്നതിന്, ഡോക്കർ പിഎസ് കമാൻഡ് ഇനിപ്പറയുന്ന രീതിയിൽ ഉപയോഗിക്കുക. എല്ലാ സംസ്ഥാനങ്ങളിലും ഏറ്റവും പുതിയതായി സൃഷ്uടിച്ച കണ്ടെയ്uനർ കാണിക്കാൻ -l ഫ്ലാഗ് ഉപയോഗിക്കുക:

$ docker ps
OR
$ docker ps -l

പുറത്തുകടന്നവ ഉൾപ്പെടെ എല്ലാ കണ്ടെയ്uനറുകളും കാണിക്കാൻ, -a ഫ്ലാഗ് ഉപയോഗിക്കുക.

$ docker ps -a

പുറത്തുകടന്നതിന് ശേഷം കണ്ടെയ്uനർ ഐഡി ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഒരു കണ്ടെയ്uനർ ആരംഭിക്കാനും കഴിയും. ഉദാഹരണത്തിന്, മുമ്പത്തെ കമാൻഡിൽ, ഞങ്ങളുടെ കണ്ടെയ്നർ ഐഡി 94c35e616b91 ആണ്. കാണിച്ചിരിക്കുന്നതുപോലെ നമുക്ക് കണ്ടെയ്നർ ആരംഭിക്കാം (ഇത് കമാൻഡ് പ്രവർത്തിപ്പിച്ച് പുറത്തുകടക്കുമെന്നത് ശ്രദ്ധിക്കുക):

$ docker start 94c35e616b91

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

$ docker stop 94c35e616b91

ഒരു കണ്ടെയ്uനർ പ്രവർത്തിപ്പിക്കുമ്പോൾ --name ഓപ്ഷൻ ഉപയോഗിച്ച് അതിന് ഒരു പേര് നൽകാനും ഡോക്കർ നിങ്ങളെ അനുവദിക്കുന്നു.

$ docker run --name my_test centos cat /etc/centos-release
$ docker ps -l

കണ്ടെയ്uനർ നിയന്ത്രിക്കുന്നതിന് (ആരംഭിക്കുക, നിർത്തുക, സ്ഥിതിവിവരക്കണക്കുകൾ, നീക്കം ചെയ്യുക മുതലായവ) ഇപ്പോൾ നിങ്ങൾക്ക് കണ്ടെയ്uനറിന്റെ പേര് ഉപയോഗിക്കാം:

$ docker stop my_test
$ docker start my_test
$ docker stats my_test
$ docker rm my_test

ഒരു ഡോക്കർ കണ്ടെയ്uനറിലേക്ക് ഒരു ഇന്ററാക്ടീവ് സെഷൻ പ്രവർത്തിപ്പിക്കുന്നു

കണ്ടെയ്uനറിനുള്ളിൽ കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കാൻ നിങ്ങളെ പ്രാപ്uതമാക്കുന്നതിന് ഒരു കണ്ടെയ്uനറിൽ ഒരു സംവേദനാത്മക ഷെൽ സെഷൻ സമാരംഭിക്കുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

$ docker run --name my_test -it centos

മുകളിലെ കമാൻഡിൽ, -it സ്വിച്ചുകൾ, കണ്ടെയ്uനറിന്റെ stdin-ലേക്ക് കണക്uറ്റ് ചെയ്uതിരിക്കുന്ന ഒരു വ്യാജ-TTY അനുവദിക്കാൻ ഡോക്കറിനോട് പറയുന്നു, അങ്ങനെ കണ്ടെയ്uനറിൽ ഒരു സംവേദനാത്മക ബാഷ് ഷെൽ സൃഷ്uടിക്കുന്നു.

കാണിച്ചിരിക്കുന്നതുപോലെ എക്സിറ്റ് കമാൻഡ് നൽകി നിങ്ങൾക്ക് പുറത്തുകടക്കാം.

# exit

പുറത്തുകടക്കാതിരിക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, നിങ്ങൾക്ക് ഒരു കണ്ടെയ്uനറിൽ നിന്ന് വേർപെടുത്തി അത് പ്രവർത്തിപ്പിക്കാൻ വിടാം. അത് ചെയ്യുന്നതിന്, CTRL+p തുടർന്ന് CTRL+q കീ സീക്വൻസ് ഉപയോഗിക്കുക.

പ്രവർത്തിക്കുന്ന കണ്ടെയ്uനറിലേക്ക് ലോക്കൽ സ്റ്റാൻഡേർഡ് ഇൻപുട്ട്, ഔട്ട്uപുട്ട്, പിശക് സ്ട്രീമുകൾ എന്നിവ അറ്റാച്ചുചെയ്യുന്ന അറ്റാച്ച് കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് കണ്ടെയ്uനറിലേക്ക് തിരികെ കണക്റ്റുചെയ്യാനാകും:

$ docker attach my_test

കൂടാതെ, -d ഫ്ലാഗ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് വേർപെടുത്തിയ മോഡിൽ ഒരു കണ്ടെയ്നർ ആരംഭിക്കാം. തുടർന്ന് നിങ്ങളുടെ ടെർമിനലിന്റെ സ്റ്റാൻഡേർഡ് ഇൻപുട്ട്, ഔട്ട്പുട്ട്, പിശക് സ്ട്രീമുകൾ എന്നിവ റൺ ചെയ്യുന്ന കണ്ടെയ്uനറിലേക്ക് അറ്റാച്ചുചെയ്യാൻ അറ്റാച്ച് കമാൻഡ് ഉപയോഗിക്കുക:

$ docker run --name my_test -d -it centos
$ docker attach my_test

അവസാനത്തേത് എന്നാൽ ഏറ്റവും കുറഞ്ഞത്, ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിച്ച് ഹോസ്റ്റ് സെഷനിൽ നിന്ന് റണ്ണിംഗ് കണ്ടെയ്നർ നിങ്ങൾക്ക് നിർത്താനാകും:

$ docker kill my_test

അത്രയേയുള്ളൂ! ഈ ഗൈഡിൽ, ഉബുണ്ടു 20.04 ലിനക്സിൽ ഡോക്കർ സിഇ എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാമെന്നും ഉപയോഗിക്കാമെന്നും ഞങ്ങൾ വിവരിച്ചിട്ടുണ്ട്. നിങ്ങൾക്ക് എന്തെങ്കിലും ചോദ്യങ്ങളുണ്ടെങ്കിൽ, ഞങ്ങളോട് ചോദിക്കാൻ ചുവടെയുള്ള ഫീഡ്uബാക്ക് ഫോം ഉപയോഗിക്കുക.