„Docker“ mokymo programa - įvadas į „Docker“ ir konteinerius



Šioje „Docker“ mokymo programoje suprasite „Docker“ būtinybę ir susipažinsite su „Docker“. Tai pirmasis „Docker“ pamokų ciklo tinklaraštis

Tikiuosi, kad nepraleidote ankstesnių „DevOps Tutorial“ tinklaraščių. Eik per čia.Neabejotina „Docker“ konteinerių tendencija auga, o organizacijos ieško turinčių specialistų .Dabar šį kartą mes pateiksime jums „Docker“ įvadą.

„Docker“ pamoka

Šis „Docker Tutorial“ tinklaraštis suteiks jums koncepcinį ir praktinį „Docker“ - naujos amžiaus konteinerių technologijos - poveikį.





Šiame tinklaraštyje daugiausia dėmesio skirsime šioms temoms:

  • Kas yra virtualizacija?
  • Kas yra konteineris
  • Konteinerių pranašumai, palyginti su virtualizavimu
  • Įvadas į „Docker“
  • „Docker“ privalumai
  • Virtualizacija ir konteinerizavimas
  • „Docker“ įrengimas
  • „Dockerfile“, „Docker Image“ ir „Docker Container“
  • Kas yra „Docker Hub“?
  • „Docker“ architektūra
  • „Docker Compos“

„Docker“ populiarėja, o jo naudojimas plinta žaibiškai. Didėjančio „Docker“ populiarumo priežastis yra tai, kiek jį galima naudoti IT organizacijoje. Labai nedaug įrankių turi funkcionalumą, kad jie būtų naudingi tiek kūrėjams, tiek sistemos administratoriams. „Docker“ yra viena iš tokių priemonių, kurios tikrai pateisina savo pažadą Statyti , Laivas ir Bėk .



Paprastais žodžiais tariant, „Docker“ yra programinės įrangos talpyklų platforma, tai reiškia, kad galite sukurti savo programą, supakuoti jas kartu su priklausomybėmis į konteinerį, tada šiuos konteinerius galima lengvai išsiųsti ir paleisti kitomis mašinomis.

Pavyzdžiui: Panagrinėkime „Linux“ pagrįstą programą, kuri buvo parašyta „Ruby“ ir „Python“. Šiai programai reikalinga konkreti „Linux“, „Ruby“ ir „Python“ versija. Siekiant išvengti bet kokių versijų konfliktų vartotojo gale, galima sukurti „Linux Docker“ konteinerį su reikalingomis „Ruby“ ir „Python“ versijomis, įdiegtomis kartu su programa. Dabar galutiniai vartotojai gali lengvai naudoti programą paleisdami šį konteinerį, nesijaudindami dėl priklausomybių ar versijų konfliktų.

Šiuose konteineriuose naudojama talpykla, kuri gali būti laikoma patobulinta virtualizavimo versija. Tą pačią užduotį taip pat galima pasiekti naudojant virtualias mašinas, tačiau ji nėra labai efektyvi.



Šiuo metu paprastai gaunu klausimą, t. Y. Koks skirtumas tarp virtualizavimo ir konteinerizavimo? Šie du terminai yra labai panašūs vienas į kitą. Taigi leiskite man pirmiausia pasakyti, kas yra virtualizacija?

Kas yra virtualizacija?

Virtualizacija yra svečio operacinės sistemos importavimo ant pagrindinės operacinės sistemos technika. Ši technika pradžioje buvo apreiškimas, nes leido kūrėjams paleisti kelias operacines sistemas skirtingose ​​virtualiose mašinose, veikiančiose tame pačiame pagrindiniame kompiuteryje. Tai pašalino papildomų aparatinės įrangos išteklių poreikį. Virtualių mašinų ar virtualizavimo privalumai yra šie:

  • Toje pačioje mašinoje gali veikti kelios operacinės sistemos
  • Gedimo sąlygomis buvo lengva prižiūrėti ir atkurti
  • Bendros nuosavybės išlaidos taip pat buvo mažesnės dėl sumažėjusio infrastruktūros poreikio

Virtuali mašinų architektūra - „Docker“ pamoka apie „Docker“ įvadą - „Edureka“

Dešinėje pateiktoje diagramoje matote, kad yra pagrindinė operacinė sistema, kurioje veikia 3 svečių operacinės sistemos, kurios yra ne kas kita, kaip virtualios mašinos.

def __init __ (savęs) pitonas

Kaip žinote, kad niekas nėra tobulas, Virtualizacija taip pat turi tam tikrų trūkumų. Paleidus kelias virtualias mašinas toje pačioje pagrindinėje operacinėje sistemoje, blogėja našumas. Taip yra dėl svečio OS, veikiančio pagrindinėje OS, kuri turės savo branduolį, bibliotekų ir priklausomybių rinkinį. Tai užima didelę dalį sistemos išteklių, t. Y. Standųjį diską, procesorių ir ypač RAM.

Kita virtualių mašinų, naudojančių virtualizaciją, problema yra ta, kad jos įkėlimas trunka beveik minutę.Tai labai svarbu realiuoju laiku teikiamų programų atveju.

Toliau pateikiami virtualizavimo trūkumai:

  • Daugelio virtualių mašinų naudojimas lemia nestabilų našumą
  • Hipervizoriai nėra tokie efektyvūs kaip pagrindinės kompiuterio operacinės sistemos
  • Paleidimo procesas yra ilgas ir užtrunka

Šie trūkumai paskatino naujos technikos, vadinamos konteineriais, atsiradimą. Dabar leiskite man papasakoti apie konteinerių gabenimą.

Kas yra konteinerių gabenimas?

Konteinerių talpinimas yra virtualizacijos perkėlimo į operacinės sistemos lygį technika. Nors virtualizavimas suteikia abstrakcijos aparatinei įrangai, „Containerization“ suteikia abstrakciją operacinei sistemai. Atkreipkite dėmesį, kad konteinerių naudojimas taip pat yra virtualizavimo tipas. Konteinerių talpinimas yra efektyvesnis, nes čia nėra svečių OS ir naudojama pagrindinio kompiuterio operacinė sistema, jei reikia, bendrinkite atitinkamas bibliotekas ir išteklius, skirtingai nei virtualios mašinos. Konkrečių programų dvejetainės programos ir talpyklų bibliotekos veikia pagrindiniame branduolyje, o tai labai greitai apdoroja ir vykdo. Net įkeliant konteinerį užtrunka tik sekundės dalį. Nes visi konteineriai naudojasi pagrindine operacine sistema ir talpina tik su programa susijusius dvejetainius failus ir bibliotekas. Jie yra lengvi ir greitesni nei „Virtual Machines“.

Konteinerių pranašumai, palyginti su virtualizavimu:

  • Tame pačiame OS branduolyje esantys konteineriai yra lengvesni ir mažesni
  • Geresnis išteklių panaudojimas, palyginti su VM
  • Paleidimo procesas yra trumpas ir trunka kelias sekundes

Dešinėje pateiktoje diagramoje matote, kad yra pagrindinio kompiuterio operacinė sistema, kurią naudoja visi konteineriai. Konteineriuose yra tik konkrečioms programoms skirtos bibliotekos, kurios yra atskiros kiekvienam konteineriui, yra greitesnės ir neišeikvoja jokių išteklių.

Visus šiuos konteinerius tvarko konteinerių sluoksnis, kuris nėra gimtas pagrindinės operacinės sistemos. Taigi reikalinga programinė įranga, leidžianti sukurti ir paleisti sudėtinius rodinius pagrindinėje operacinėje sistemoje.

Norėdami sužinoti apie „Docker“, peržiūrėkite šį „Docker“ mokymo vaizdo įrašą.

„Docker“ pamoka pradedantiesiems Kas yra „Docker“? | „DevOps“ įrankiai | Edureka

Leiskite man peržvelgti „Docker“ įvadą.

„Docker“ mokymo programa - „Docker“ įvadas

„Docker“ yra konteinerių platforma, pakuojanti jūsų programą ir visas jos priklausomybes konteinerių pavidalu, kad jūsų programa veiktų sklandžiai bet kurioje aplinkoje.

Kaip matote diagramoje dešinėje, kiekviena programa veiks atskirame konteineryje ir turės savo bibliotekų ir priklausomybių rinkinį. Tai taip pat užtikrina, kad yra proceso lygio izoliacija, o tai reiškia, kad kiekviena programa yra nepriklausoma nuo kitų programų, suteikdama kūrėjams garantiją, kad jie gali kurti programas, kurios netrukdys viena kitai.

Kaip kūrėjas galiu sukurti sudėtinį rodinį, kuriame įdiegtos skirtingos programos, ir atiduoti jį savo kokybės užtikrinimo komandai, kuriai tereikia paleisti sudėtinį rodinį, kad būtų pakartota kūrėjo aplinka.

„Docker“ privalumai

Dabar kokybės užtikrinimo komandai nereikia įdiegti visos priklausomos programinės įrangos ir programų, kad būtų galima išbandyti kodą, ir tai padeda jiems sutaupyti daug laiko ir energijos. Tai taip pat užtikrina, kad darbo aplinka būtų nuosekli visiems dalyvaujantiems asmenims, pradedant kūrimu ir baigiant diegimu. Sistemų skaičių galima lengvai padidinti ir be vargo jose įdiegti kodą.

Virtualizacija ir konteinerizavimas

Virtualizacija ir talpyklų talpinimas leidžia paleisti kelias operacines sistemas pagrindiniame kompiuteryje.

Virtualizacija susijusi su daugelio operacinių sistemų kūrimu vienoje pagrindinėje mašinoje. Kita vertus, konteineriai sukurs kelis konteinerius kiekvienam programos tipui, jei reikia.

Paveikslėlis: Kas yra didžiųjų duomenų analizė - virtualizavimas ir konteinerių naudojimas

Kaip matome iš paveikslėlio, pagrindinis skirtumas yra tas, kad Virtualizacijoje yra kelios svečių operacinės sistemos, kurių nėra konteineriuose. Geriausia „Containerization“ dalis yra ta, kad ji yra labai lengva, palyginti su sunkia virtualizacija.

Dabar įdiekime „Docker“.

Įdiekite „Docker“:

Įdiegsiu „Docker“ į savo „Ubuntu 17.10“ mašiną. Toliau pateikiami „Docker“ diegimo veiksmai:

  1. Įdiekite reikiamus paketus
  2. Nustatykite „Docker“ saugyklą
  3. Įdiekite „Docker“ į „Ubuntu“

1. Įdiekite reikalingus paketus:

Jūsų sistemoje yra tam tikrų paketų, reikalingų norint įdiegti „Docker“. Norėdami įdiegti tuos paketus, vykdykite toliau pateiktą komandą.

kas yra sesija java
sudo apt-get install curl apt-transport-https ca-sertifikatai programinė įranga-bendrosios

2. Nustatykite „Docker“ saugyklą:

Dabar prieš importuodami apt-get, importuokite oficialų „Dockers“ raktą, kad patikrintumėte paketų parašą. Paleiskite žemiau esančią komandą terminale:

garbanos -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key pridėti

Dabar pridėkite „Docker“ saugyklą savo „Ubuntu“ sistemoje, kurioje yra „Docker“ paketai, įskaitant jo priklausomybes, kad įvykdytumėte šią komandą:

sudo add-apt-repository 'deb [arch = amd64] https://download.docker.com/linux/ubuntu $ (lsb_release -cs) stabilus'

3. Įdiekite „Docker“ į „Ubuntu“:

Dabar turite atnaujinti apt indeksą ir įdiegti „Docker“ bendruomenės leidimą, kad atliktumėte šias komandas:

sudo apt-get update sudo apt-get install docker-ce

Sveikiname! Jūs sėkmingai įdiegėte „Docker“. Be to, patikrinkite keletą dažniausiai naudojamų „Docker“ komandos .

Dabar pažiūrėkime keletą svarbių „Docker“ koncepcijų.

„Dockerfile“, „Docker Image“ ir „Docker Container“:

  1. „Docker“ vaizdą sukuria komandų, įrašytų į failą, vadinamą „Dockerfile“, seka.
  2. Kai ši „Dockerfile“ vykdoma naudojant „Docker“ komandą, gaunamas „Docker“ vaizdas su pavadinimu.
  3. Kai šis vaizdas bus vykdomas „docker run“ komanda, jis pats paleis bet kokią programą ar paslaugą, kurią jis turi paleisti.

„Docker Hub“:

„Docker Hub“ yra tarsi „GitHub“, skirta „Docker Images“. Iš esmės tai yra debesies registras, kuriame galite rasti skirtingų bendruomenių įkeltus „Docker“ vaizdus, ​​taip pat galite kurti savo atvaizdą ir įkelti „Docker Hub“, tačiau pirmiausia turite sukurti paskyrą „DockerHub“.

„Docker“ architektūra:

Ją sudaro „Docker Engine“, kuri yra kliento-serverio programa, turinti tris pagrindinius komponentus:

  1. Serveris, kuris yra ilgai veikiančios programos tipas, vadinamas „daemon“ procesu („docker“ komanda).
  2. REST API, nurodanti sąsajas, kurias programos gali naudoti kalbėdami su demonu ir nurodydami, ką daryti.
  3. Komandinės eilutės sąsajos (CLI) klientas (dokavimo komanda).
  4. CLI naudoja „Docker REST“ API valdyti arba sąveikauti su „Docker“ demonu naudodamas scenarijus ar tiesiogines CLI komandas. Daugelis kitų „Docker“ programų naudoja pagrindinius API ir CLI.

Peržiūrėkite šį tinklaraštį, jei norite sužinoti daugiau .

Pagaliau šiame „Docker Tutorial“ tinklaraštyje kalbėsiu apie „Docker Compose“.

„Docker“ kūrimas:

„Docker Compose“ iš esmės naudojama norint paleisti kelis „Docker Containers“ kaip vieną serverį. Pateiksiu jums pavyzdį:

Tarkime, jei turiu programą, kuriai reikalingi „WordPress“, „Maria DB“ ir „PHP MyAdmin“. Galiu sukurti vieną failą, kuriame abu konteineriai būtų paleisti kaip paslauga, nereikalaujant jų paleisti atskirai. Tai tikrai naudinga, ypač jei turite mikro paslaugų architektūrą.

Peržiūrėkite mano tinklaraštį „Docker“ konteineris suprasti, kaip tai praktiškai įvykdyti.

Be to, šiame tinklaraštyje galite perskaityti, kaip talpinti vidutinę kamino programą naudojant „Docker Compose“.

Tuo mes baigėme pirmąjį „Docker Tutorial“ tinklaraštį „Įvadas į„ Docker & Containerization ““.

Peržiūrėkite kitą mūsų „Docker“ tinklaraštį:

Dabar, kai supratote, kas yra „DevOps“, patikrinkite mūsų sukūrė „Edureka“ - patikima internetinė mokymosi įmonė, turinti daugiau nei 250 000 patenkintų besimokančiųjų tinklą. „Edureka DevOps“ sertifikavimo mokymo kursas padeda besimokantiesiems įgyti įvairių „DevOps“ procesų ir įrankių, tokių kaip „Lėlė“, „Jenkins“, „Nagios“, „Ansible“, „Chef“, „Saltstack“ ir GIT, kelių automatizuotų SDLC žingsnių patirties.

Turite mums klausimą? Prašau paminėti tai komentarų skiltyje ir mes su jumis susisieksime.