ഡോക്കർ ഇൻസ്റ്റാൾ ചെയ്യുക, CentOS, RHEL 8/7 എന്നിവയിൽ അടിസ്ഥാന കണ്ടെയ്നർ കൃത്രിമത്വം പഠിക്കുക - ഭാഗം 1


ഈ 4-ലേഖന പരമ്പരയിൽ, ഞങ്ങൾ ഡോക്കർ ചർച്ച ചെയ്യും, ഇത് ഓപ്പറേറ്റിംഗ് സിസ്റ്റം തലത്തിൽ മുകളിൽ പ്രവർത്തിക്കുന്ന ഒരു ഓപ്പൺ സോഴ്uസ് ലൈറ്റ്uവെയ്uറ്റ് വെർച്വലൈസേഷൻ ടൂളാണ്, ഇത് ചെറിയ കണ്ടെയ്uനറുകളിൽ പൊതിഞ്ഞ അപ്ലിക്കേഷനുകൾ സൃഷ്uടിക്കാനും പ്രവർത്തിപ്പിക്കാനും വിന്യസിക്കാനും ഉപയോക്താക്കളെ അനുവദിക്കുന്നു.

ഇത്തരത്തിലുള്ള ലിനക്സ് കണ്ടെയ്uനറുകൾ വേഗതയേറിയതും കൊണ്ടുപോകാവുന്നതും സുരക്ഷിതവുമാണെന്ന് തെളിയിക്കപ്പെട്ടിട്ടുണ്ട്. ഒരു ഡോക്കർ കണ്ടെയ്uനറിൽ പ്രവർത്തിക്കുന്ന പ്രക്രിയകൾ എല്ലായ്uപ്പോഴും പ്രധാന ഹോസ്റ്റിൽ നിന്ന് വേർതിരിക്കപ്പെടുന്നു, ഇത് പുറത്തുനിന്നുള്ള കൃത്രിമത്വം തടയുന്നു.

ഈ ട്യൂട്ടോറിയൽ CentOS/RHEL 8/7-ൽ ഡോക്കർ എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം, ഡോക്കർ കണ്ടെയ്uനറുകൾ സൃഷ്uടിക്കുക, പ്രവർത്തിപ്പിക്കുക എന്നിവയെക്കുറിച്ചുള്ള ഒരു ആരംഭ പോയിന്റ് നൽകുന്നു, പക്ഷേ ഡോക്കറിന്റെ ഉപരിതലത്തിൽ പോറലുകൾ വരുത്തുന്നില്ല.

ഘട്ടം 1: ഡോക്കർ ഇൻസ്റ്റാൾ ചെയ്ത് കോൺഫിഗർ ചെയ്യുക

1. ഡോക്കറിന്റെ മുൻ പതിപ്പുകളെ ഡോക്കർ അല്ലെങ്കിൽ ഡോക്കർ-എഞ്ചിൻ എന്നാണ് വിളിച്ചിരുന്നത്, നിങ്ങൾ ഇവ ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ടെങ്കിൽ, ഒരു പുതിയ ഡോക്കർ-സി പതിപ്പ് ഇൻസ്റ്റാൾ ചെയ്യുന്നതിന് മുമ്പ് നിങ്ങൾ അവ അൺഇൻസ്റ്റാൾ ചെയ്യണം.

# yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2. ഡോക്കർ എഞ്ചിന്റെ ഏറ്റവും പുതിയ പതിപ്പ് ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനായി, സിസ്റ്റത്തിൽ ഡോക്കർ സ്റ്റേബിൾ റിപ്പോസിറ്ററി പ്രവർത്തനക്ഷമമാക്കുന്നതിന് നിങ്ങൾ ഡോക്കർ റിപ്പോസിറ്ററി സജ്ജീകരിക്കുകയും yum-utils പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യുകയും വേണം.

# yum install -y yum-utils
# yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

3. ഇപ്പോൾ ഡോക്കർ റിപ്പോസിറ്ററിയിൽ നിന്നും കണ്ടെയ്uനറിൽ നിന്നും പുതിയ ഡോക്കർ-സി പതിപ്പ് ഇൻസ്uറ്റാൾ ചെയ്യുക, കാരണം ചില പ്രശ്uനങ്ങൾ കാരണം, Red Hat containerd.io > 1.2.0-3.el7 ന്റെ ഇൻസ്റ്റാളേഷൻ തടഞ്ഞു. ഡോക്കർ-സിയുടെ ആശ്രിതത്വമാണ്.

# yum install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
# yum install docker-ce docker-ce-cli

4. ഡോക്കർ പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്ത ശേഷം, ഡെമൺ ആരംഭിക്കുക, അതിന്റെ സ്റ്റാറ്റസ് പരിശോധിക്കുക, താഴെ പറയുന്ന കമാൻഡുകൾ ഉപയോഗിച്ച് സിസ്റ്റം-വൈഡ് അത് പ്രവർത്തനക്ഷമമാക്കുക:

# systemctl start docker 
# systemctl status docker
# systemctl enable docker

5. അവസാനമായി, ഇനിപ്പറയുന്ന കമാൻഡ് നൽകി ഡോക്കർ ശരിയായി പ്രവർത്തിക്കുന്നുണ്ടോയെന്ന് പരിശോധിക്കാൻ ഒരു കണ്ടെയ്uനർ ടെസ്റ്റ് ഇമേജ് പ്രവർത്തിപ്പിക്കുക:

# docker run hello-world

നിങ്ങൾക്ക് ചുവടെയുള്ള സന്ദേശം കാണാൻ കഴിയുമെങ്കിൽ, എല്ലാം ശരിയായ സ്ഥലത്താണ്.

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

6. ഇപ്പോൾ, ഡോക്കറിനെക്കുറിച്ചുള്ള ചില വിവരങ്ങൾ ലഭിക്കുന്നതിന് നിങ്ങൾക്ക് കുറച്ച് അടിസ്ഥാന ഡോക്കർ കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കാം:

# docker info
# docker version

7. ലഭ്യമായ എല്ലാ ഡോക്കർ കമാൻഡുകളുടെയും ഒരു ലിസ്റ്റ് ലഭിക്കാൻ നിങ്ങളുടെ കൺസോളിൽ ഡോക്കർ എന്ന് ടൈപ്പ് ചെയ്യുക.

# docker

ഘട്ടം 2: ഒരു ഡോക്കർ ചിത്രം ഡൗൺലോഡ് ചെയ്യുക

8. ഒരു ഡോക്കർ കണ്ടെയ്uനർ ആരംഭിക്കുന്നതിനും പ്രവർത്തിപ്പിക്കുന്നതിനും, ആദ്യം, നിങ്ങളുടെ ഹോസ്റ്റിലെ ഡോക്കർ ഹബിൽ നിന്ന് ഒരു ചിത്രം ഡൗൺലോഡ് ചെയ്യണം. ഡോക്കർ ഹബ് അതിന്റെ ശേഖരണങ്ങളിൽ നിന്ന് ധാരാളം സൗജന്യ ചിത്രങ്ങൾ വാഗ്ദാനം ചെയ്യുന്നു.

ഒരു ഡോക്കർ ഇമേജിനായി തിരയുന്നതിന്, ഉബുണ്ടു, ഉദാഹരണത്തിന്, ഇനിപ്പറയുന്ന കമാൻഡ് നൽകുക:

# docker search ubuntu

9. നിങ്ങളുടെ ആവശ്യങ്ങൾക്കനുസരിച്ച് ഏത് ചിത്രമാണ് റൺ ചെയ്യേണ്ടതെന്ന് തീരുമാനിച്ചതിന് ശേഷം, താഴെയുള്ള കമാൻഡ് പ്രവർത്തിപ്പിച്ച് പ്രാദേശികമായി അത് ഡൗൺലോഡ് ചെയ്യുക (ഈ സാഹചര്യത്തിൽ ഒരു ഉബുണ്ടു ഇമേജ് ഡൗൺലോഡ് ചെയ്യുകയും ഉപയോഗിക്കുകയും ചെയ്യുന്നു):

# docker pull ubuntu

10. നിങ്ങളുടെ ഹോസ്റ്റിൽ ലഭ്യമായ എല്ലാ ഡോക്കർ ചിത്രങ്ങളും ലിസ്റ്റുചെയ്യുന്നതിന് ഇനിപ്പറയുന്ന കമാൻഡ് നൽകുക:

# docker images

11. നിങ്ങൾക്ക് ഇനി ഒരു ഡോക്കർ ഇമേജ് ആവശ്യമില്ലെങ്കിൽ, ഹോസ്റ്റ് ഇഷ്യൂവിൽ നിന്ന് അത് നീക്കം ചെയ്യണമെങ്കിൽ ഇനിപ്പറയുന്ന കമാൻഡ് നൽകുക:

# docker rmi ubuntu

ഘട്ടം 3: ഒരു ഡോക്കർ കണ്ടെയ്നർ പ്രവർത്തിപ്പിക്കുക

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

നിങ്ങൾ docker rm കമാൻഡ് ഉപയോഗിച്ച് ഇല്ലാതാക്കാൻ തിരഞ്ഞെടുക്കുന്നത് വരെ സൃഷ്ടിച്ച എല്ലാ കണ്ടെയ്uനറുകളും ഹോസ്റ്റ് ഫയൽസിസ്റ്റത്തിൽ നിലനിൽക്കും.

12. ഒരു കണ്ടെയ്uനർ സൃഷ്uടിക്കുന്നതിനും പ്രവർത്തിപ്പിക്കുന്നതിനും, നിങ്ങൾ ഒരു ഡൗൺലോഡ് ചെയ്uത ചിത്രത്തിലേക്ക് കമാൻഡ് പ്രവർത്തിപ്പിക്കേണ്ടതുണ്ട്, ഈ സാഹചര്യത്തിൽ, ഉബുണ്ടു, അതിനാൽ താഴെ പറയുന്നതുപോലെ, cat കമാൻഡ് ഉപയോഗിച്ച് കണ്ടെയ്uനറിനുള്ളിൽ വിതരണ പതിപ്പ് ഫയൽ പ്രദർശിപ്പിക്കുക എന്നതാണ് അടിസ്ഥാന കമാൻഡ്. ഉദാഹരണം:

# docker run ubuntu cat /etc/issue

മുകളിലുള്ള കമാൻഡ് ഇനിപ്പറയുന്ന രീതിയിൽ തിരിച്ചിരിക്കുന്നു:

# docker run [local image] [command to run into container]

13. കണ്ടെയ്uനറുകളിൽ ഒരെണ്ണം സൃഷ്uടിക്കാൻ എക്uസിക്യൂട്ട് ചെയ്uത കമാൻഡ് ഉപയോഗിച്ച് വീണ്ടും പ്രവർത്തിപ്പിക്കുന്നതിന്, ചുവടെയുള്ള കമാൻഡ് നൽകി നിങ്ങൾ കണ്ടെയ്uനർ ഐഡി (അല്ലെങ്കിൽ ഡോക്കർ സ്വയമേവ സൃഷ്uടിച്ച പേര്) നേടണം, അത് റൺ ചെയ്യുന്നതിന്റെ ഒരു ലിസ്റ്റ് പ്രദർശിപ്പിക്കുന്നു. നിർത്തിയ (ഓടാത്ത) കണ്ടെയ്നറുകൾ:

# docker ps -l 

14. കണ്ടെയ്uനർ ഐഡി ലഭിച്ചുകഴിഞ്ഞാൽ, താഴെ പറയുന്ന കമാൻഡ് നൽകി, അത് സൃഷ്uടിക്കാൻ ഉപയോഗിച്ച കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് വീണ്ടും കണ്ടെയ്uനർ ആരംഭിക്കാം:

# docker start 923a720da57f

ഇവിടെ, 923a720da57f എന്ന സ്uട്രിംഗ് കണ്ടെയ്uനർ ഐഡിയെ പ്രതിനിധീകരിക്കുന്നു.

15. കണ്ടെയ്uനർ പ്രവർത്തിക്കുന്ന അവസ്ഥയിലാണെങ്കിൽ, docker ps കമാൻഡ് നൽകി നിങ്ങൾക്ക് അതിന്റെ ഐഡി ലഭിക്കും. പ്രവർത്തിക്കുന്ന കണ്ടെയ്uനർ പ്രശ്uനം നിർത്താൻ കണ്ടെയ്uനർ ഐഡി അല്ലെങ്കിൽ യാന്ത്രികമായി സൃഷ്uടിച്ച പേര് വ്യക്തമാക്കി docker stop കമാൻഡ്.

# docker stop 923a720da57f
OR
# docker stop cool_lalande
# docker ps

16. നിങ്ങൾ കണ്ടെയ്uനർ ഐഡി ഓർത്തിരിക്കേണ്ടതില്ല, കമാൻഡ് ലൈനിലെ --name ഓപ്uഷൻ ഉപയോഗിച്ച് നിങ്ങൾ സൃഷ്uടിക്കുന്ന ഓരോ കണ്ടെയ്uനറിനും ഒരു അദ്വിതീയ പേര് അനുവദിക്കുക എന്നതാണ് കൂടുതൽ ഗംഭീരമായ ഒരു ബദൽ. ഇനിപ്പറയുന്ന ഉദാഹരണം:

# docker run --name ubuntu20.04 ubuntu cat /etc/issue

17. തുടർന്ന്, നിങ്ങൾ കണ്ടെയ്uനറിനായി നീക്കിവച്ചിരിക്കുന്ന പേര് ഉപയോഗിച്ച്, ചുവടെയുള്ള ഉദാഹരണങ്ങളിലെന്നപോലെ അതിന്റെ പേര് അഭിസംബോധന ചെയ്തുകൊണ്ട് നിങ്ങൾക്ക് കണ്ടെയ്uനർ (ആരംഭിക്കുക, നിർത്തുക, നീക്കംചെയ്യുക, മുകളിൽ, സ്ഥിതിവിവരക്കണക്കുകൾ) കൈകാര്യം ചെയ്യാൻ കഴിയും:

# docker start ubuntu20.04
# docker stats ubuntu20.04
# docker top ubuntu20.04 

കണ്ടെയ്uനർ സൃഷ്uടിക്കാൻ ഉപയോഗിച്ച കമാൻഡിന്റെ പ്രോസസ്സ് പൂർത്തിയായാൽ മുകളിലുള്ള ചില കമാൻഡുകൾ ഔട്ട്uപുട്ട് കാണിക്കില്ല എന്ന കാര്യം ശ്രദ്ധിക്കുക. കണ്ടെയ്നറിനുള്ളിൽ പ്രവർത്തിക്കുന്ന പ്രക്രിയ പൂർത്തിയാകുമ്പോൾ, കണ്ടെയ്നർ നിർത്തുന്നു.

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

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

# docker run -it ubuntu bash

മുകളിലുള്ള കമാൻഡ് ഇനിപ്പറയുന്ന രീതിയിൽ തിരിച്ചിരിക്കുന്നു:

    ഒരു സംവേദനാത്മക സെഷൻ ആരംഭിക്കാൻ
  1. -i ഉപയോഗിക്കുന്നു.
  2. -t ഒരു TTY അനുവദിക്കുകയും stdin, stdout എന്നിവ അറ്റാച്ചുചെയ്യുകയും ചെയ്യുന്നു.
  3. ubuntu എന്നത് കണ്ടെയ്uനർ സൃഷ്uടിക്കാൻ ഞങ്ങൾ ഉപയോഗിച്ച ചിത്രമാണ്.
  4. bash (അല്ലെങ്കിൽ /bin/bash) എന്നത് നമ്മൾ ഉബുണ്ടു കണ്ടെയ്uനറിനുള്ളിൽ പ്രവർത്തിക്കുന്ന കമാൻഡ് ആണ്.

19. പ്രവർത്തിക്കുന്ന കണ്ടെയ്uനർ സെഷനിൽ നിന്ന് പുറത്തുകടന്ന് ഹോസ്റ്റിലേക്ക് മടങ്ങുന്നതിന് നിങ്ങൾ exit കമാൻഡ് ടൈപ്പ് ചെയ്യണം. എക്സിറ്റ് കമാൻഡ് എല്ലാ കണ്ടെയ്നർ പ്രക്രിയകളും അവസാനിപ്പിക്കുകയും അത് നിർത്തുകയും ചെയ്യുന്നു.

# exit

20. നിങ്ങൾ കണ്ടെയ്uനർ ടെർമിനൽ പ്രോംപ്റ്റിൽ ഇന്ററാക്ടീവ് ആയി ലോഗിൻ ചെയ്uതിരിക്കുകയും കണ്ടെയ്uനർ റണ്ണിംഗ് സ്റ്റേറ്റിൽ നിലനിർത്തുകയും എന്നാൽ ഇന്ററാക്uറ്റീവ് സെഷനിൽ നിന്ന് പുറത്തുകടക്കുകയും ചെയ്യണമെങ്കിൽ, നിങ്ങൾക്ക് കൺസോൾ വിട്ട് Ctrl+p കൂടാതെ Ctrl+q കീകളും.

21. റൺ ചെയ്യുന്ന കണ്ടെയ്uനറിലേക്ക് വീണ്ടും കണക്റ്റുചെയ്യുന്നതിന് നിങ്ങൾക്ക് കണ്ടെയ്uനർ ഐഡിയോ പേരോ ആവശ്യമാണ്. ഐഡിയോ പേരോ ലഭിക്കുന്നതിന് docker ps കമാൻഡ് നൽകുക, തുടർന്ന്, മുകളിലെ ചിത്രത്തിൽ കാണിച്ചിരിക്കുന്നതുപോലെ കണ്ടെയ്uനർ ഐഡി അല്ലെങ്കിൽ പേര് വ്യക്തമാക്കി docker attach കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

# docker attach <container id>

22. ഹോസ്റ്റ് സെഷനിൽ നിന്ന് പ്രവർത്തിക്കുന്ന കണ്ടെയ്നർ നിർത്തുന്നതിന് ഇനിപ്പറയുന്ന കമാൻഡ് നൽകുക:

# docker kill <container id>

അടിസ്ഥാന കണ്ടെയ്നർ കൃത്രിമത്വത്തിന് അത്രമാത്രം. അടുത്ത ട്യൂട്ടോറിയലിൽ, ഒരു ഡോക്കർ കണ്ടെയ്uനറിലേക്ക് ഒരു വെബ് സെർവർ എങ്ങനെ സംരക്ഷിക്കാമെന്നും ഇല്ലാതാക്കാമെന്നും പ്രവർത്തിപ്പിക്കാമെന്നും ഞങ്ങൾ ചർച്ച ചെയ്യും.