Kaip įdiegti ir naudoti „Docker“ Ubuntu 20.04


Docker yra populiariausia atvirojo kodo platforma, skirta kūrėjams ir sistemos administratoriams kurti, paleisti ir bendrinti programas su konteineriais. Konteinerių naudojimas (konteinerių naudojimas programoms diegti) tampa populiaresnis, nes konteineriai yra lankstūs, lengvi, nešiojami, laisvai sujungti, keičiamo dydžio ir saugesni.

Šis straipsnis yra geras atspirties taškas pradedantiesiems, norint sužinoti, kaip įdiegti ir naudoti Docker Ubuntu 20.04 Linux sistemoje su kai kuriomis pagrindinėmis komandomis. Šiam vadovui įdiegsime Docker Community Edition (CE).

Būtinos sąlygos:

  • Ubuntu 20.04 serverio diegimas.
  • Vartotojas, turintis teisę vykdyti sudo komandą.

„Docker“ diegimas „Ubuntu 20.04“.

Norėdami naudoti naujausią Docker versiją, įdiegsime ją iš oficialios Docker saugyklos. Taigi, pradėkite prie sistemos pridėdami oficialios Docker saugyklos GPG raktą, tada pridėkite saugyklos konfigūraciją prie APT šaltinio su sekančias komandas.

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"

Dabar atnaujinkite APT paketo talpyklą, kad į sistemą įtrauktumėte naujus „Docker“ paketus naudodami šią komandą.

sudo apt update

Tada įdiekite Docker paketą, kaip parodyta.

sudo apt install docker-ce

Vykdant Docker paketo diegimo procesą, paketo diegimo programa suaktyvina systemd (sistemos ir paslaugų tvarkyklę), kad automatiškai paleistų ir įgalintų docker paslaugą. Naudodami šias komandas patvirtinkite, kad docker paslauga yra aktyvi ir įgalinta automatiškai paleisti sistemą paleidžiant. Taip pat patikrinkite jo būseną:

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

Yra keletas kitų systemctl komandų, skirtų valdyti ir valdyti doko paslaugą, įskaitant:

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

Norėdami patikrinti jūsų sistemoje įdiegtą Docker CE versiją, paleiskite šią komandą:

docker version

Galite peržiūrėti galimas „Docker“ naudojimo komandas paleisdami komandą „Docker“ be jokių parinkčių ar argumentų:

 
docker

Tvarkykite „Docker“ kaip ne root naudotoją naudodami sudo komandą

Pagal numatytuosius nustatymus Docker demonas prisijungia prie UNIX lizdo (vietoj TCP prievado), kuris priklauso vartotojo šaknims. Todėl Docker demonas visada veikia kaip root naudotojas, o norint paleisti docker komandą, reikia naudoti sudo.

Be to, diegiant Docker paketą sukuriama grupė, pavadinta docker. Kai paleidžiamas Docker demonas, jis sukuria UNIX lizdą, kurį gali pasiekti docker grupės nariai (kuri suteikia pagrindiniam vartotojui lygiavertes teises).

Norėdami paleisti komandą docker be sudo, pridėkite visus ne root naudotojus, kurie turėtų pasiekti docker, grupėje docker, kaip nurodyta toliau. Šiame pavyzdyje komanda prideda šiuo metu prisijungusį vartotoją ($USER) arba naudotojo vardą prie dokų grupės:

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

Norėdami suaktyvinti grupių pakeitimus, paleiskite šią komandą:

newgrp docker 
groups

Tada patikrinkite, ar galite paleisti docker komandas be sudo. Ši komanda atsisiunčia bandomąjį vaizdą ir paleidžia jį konteineryje. Kai konteineris veikia, jis išspausdina informacinį pranešimą ir išeina. Tai taip pat dar vienas būdas kryžmiškai patikrinti, ar jūsų diegimas veikia gerai.

docker run hello-world

Darbas su Docker Images

Docker vaizdas yra tik skaitomas šablono failas su instrukcijomis, kaip sukurti Docker sudėtinį rodinį. Galite sukurti tinkintus vaizdus arba naudoti tik tuos, kuriuos sukūrė kiti ir paskelbti Docker Hub – didžiausioje pasaulyje konteinerių vaizdų bibliotekoje ir bendruomenėje.

Galite ieškoti centos vaizdo Docker Hub naudodami šią komandą:

docker search centos 

Norėdami atsisiųsti vaizdą vietoje, naudokite pull komandą. Šiame pavyzdyje parodyta, kaip atsisiųsti oficialų centos vaizdą.

docker pull centos

Kai atsisiuntimas bus baigtas, galite pateikti galimų vaizdų sąrašą vietinėje sistemoje.

docker images

Jei vaizdo jums nebereikia, galite jį pašalinti iš sistemos.

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

„Docker“ konteinerių paleidimas ir valdymas

Sudėtinis Docker yra procesas, kuris savaime veikia „Linux“ ir bendrina pagrindinio kompiuterio branduolį su kitais konteineriais. Kalbant apie „Docker“ vaizdą, konteineris yra tik veikiantis vaizdas.

Norėdami paleisti sudėtinį rodinį pagal naują centos vaizdą, paleiskite šią komandą, kur "centos " yra vietinio vaizdo pavadinimas ir "cat /etc/centos-release ” yra komanda, kurią reikia paleisti konteineryje:

docker run centos cat /etc/centos-release

Konteineris vykdo atskirą procesą, kuris yra izoliuotas tuo, kad turi savo failų sistemą, tinklą ir izoliuotą proceso medį, atskirtą nuo pagrindinio kompiuterio. Atminkite, kad sudėtinį rodinį galite valdyti naudodami jo ID, ID priešdėlį arba pavadinimą, kaip parodyta toliau. Aukščiau pateiktas konteinerio procesas baigiamas paleidus komandą.

Norėdami įtraukti Docker konteinerius, naudokite komandą docker ps, kaip nurodyta toliau. Naudokite žymą -l, kad parodytumėte naujausią sukurtą sudėtinį rodinį visose būsenose:

docker ps
OR
docker ps -l

Jei norite rodyti visus sudėtinius rodinius, įskaitant tuos, kurie išėjo, naudokite žymą -a.

docker ps -a

Taip pat galite paleisti sudėtinį rodinį naudodami jo ID, kai jis bus išjungtas. Pavyzdžiui, ankstesnėje komandoje mūsų sudėtinio rodinio ID yra 94c35e616b91. Galime paleisti konteinerį, kaip parodyta (atkreipkite dėmesį, kad jis paleis komandą ir išeis):

docker start 94c35e616b91

Norėdami sustabdyti veikiantį sudėtinį rodinį naudodami jo ID, naudokite sustabdymo komandą, kaip parodyta.

docker stop 94c35e616b91

Naudodami Docker galite priskirti sudėtinio rodinio pavadinimą naudojant --name parinktį, kai jis vykdomas.

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

Dabar galite naudoti sudėtinio rodinio pavadinimą, kad galėtumėte tvarkyti (paleisti, sustabdyti, statistika, pašalinti ir kt.) sudėtinį rodinį:

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

Interaktyvios sesijos vykdymas „Docker“ konteineryje

Norėdami pradėti interaktyvų apvalkalo seansą konteineryje, kad galėtumėte vykdyti komandas konteineryje, paleiskite šią komandą:

docker run --name my_test -it centos

Aukščiau pateiktoje komandoje jungikliai -it nurodo „Docker“ priskirti pseudo-TTY, prijungtą prie konteinerio stdin, taip sukuriant interaktyvų bazinį apvalkalą konteineryje.

Galite išeiti išduodami išėjimo komandą, kaip parodyta.

exit

Jei nenorite išeiti, galite jį atskirti nuo konteinerio ir palikti jį veikti. Norėdami tai padaryti, naudokite CTRL+p, tada CTRL+q klavišų seką.

Galite vėl prisijungti prie sudėtinio rodinio naudodami komandą pridėti, kuri prie veikiančio sudėtinio rodinio pridės vietinius standartinius įvesties, išvesties ir klaidų srautus:

docker attach my_test

Be to, konteinerį galite paleisti atskirtu režimu, naudodami vėliavėlę -d. Tada naudokite komandą attach, kad pridėtumėte standartinius terminalo įvesties, išvesties ir klaidų srautus prie veikiančio sudėtinio rodinio:

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

Paskutinis, bet ne mažiau svarbus dalykas, galite sustabdyti veikiantį konteinerį iš pagrindinio kompiuterio seanso vykdydami šią komandą:

docker kill my_test

Tai viskas! Šiame vadove aptarėme, kaip įdiegti ir naudoti Docker CE sistemoje Ubuntu 20.04 Linux. Jei turite klausimų, naudokite toliau pateiktą atsiliepimų formą ir paklauskite mūsų.