Master Docker pagrindai su šiomis svarbiomis sąvokomis, paaiškintomis paprastais žodžiais.
Mastering Docker yra geidžiamas programinės įrangos inžinierių įgūdis. „Docker“ padės sukurti, supakuoti ir platinti programas.
Dockerizuotos programos gali veikti įvairiose aplinkose. Tai sumažina programų prastovos laiką, suteikiant įmonėms konkurencinį pranašumą. Tačiau „Docker“ gali bauginti, kai pradedate to mokytis. Čia yra svarbios temos, kurias reikia išmokti įvaldyti Docker.
Kas yra Dockeris?
Docker yra programinė įranga, naudojama programoms supakuoti į vykdomuosius vienetus, vadinamus konteineriais. „Docker“ teikia pagalbą norint greitai kurti, išbandyti ir įdiegti programas.
Kai naudojate „Docker“, sąveikaujate su „Docker Engine“. „Docker Engine“ galite įdiegti bet kurioje operacinėje sistemoje, įskaitant Windows 10 ir 11, macOS, arba Ubuntu/Linux sistemos. Yra daug įrankių ir koncepcijų, kurių reikia norint išmokti efektyviai naudoti „Docker“. Čia yra būtiniausi, kad galėtumėte pradėti.
1. Docker vaizdas
Docker vaizdas yra lengvas projektas, naudojamas konteineriams kurti. Tai instrukcijų šablonas, nurodantis operacinę sistemą, programos kodą ir priklausomybes. Jūs apibrėžiate instrukcijas, kaip sukurti vaizdą „Dockerfile“.
Faile nurodote viską, ko reikia jūsų programai. Tada „Docker“ automatiškai sukuria vaizdą pagal pateiktas instrukcijas. Įvairių vaizdų galite rasti „Docker“ internetiniame registre „Docker Hub“. „Docker“ saugumo sumetimais rekomenduoja naudoti oficialius vaizdus.
Taip pat galite kurti vaizdus pagal tinkintas konfigūracijas. Vaizdai būna įvairių dydžių, operacinių sistemų ir kalbų. Galite pasirinkti tą, kuris geriausiai tinka jūsų programai. Pavyzdžiui, galite išmokti kaip sukurti .NET žiniatinklio API Docker vaizdą.
2. „Docker“ konteineris
Konteineriai yra vienetai, naudojami programai supakuoti į vykdomąjį vienetą. Konteineriuose yra viskas, ko reikia programai paleisti, įskaitant bibliotekas, kodą, priklausomybes ir vykdymo laiką.
Konteineriai išskiria programas į vienetus, leidžiančius joms nuosekliai veikti įvairiose aplinkose. Sudėtiniai rodiniai leidžia valdyti programas kūrimo ir gamybos aplinkoje be klaidų. Yra daug konteinerių naudojimo atvejų kuriuos galite tyrinėti.
„Docker“ konteineriuose yra tokios informacijos kaip konteinerio ID, vaizdas ir pagrindinė operacinė sistema. Taip pat galite matyti konteinerio vykdymo laiką, būseną ir pavadinimą. Norėdami išvardyti visus sistemos konteinerius, naudokite šią komandą:
docker container ls
Pamatysite išsamią informaciją apie visus veikiančius konteinerius:
Taip pat galite naudoti dokeris ps norėdami peržiūrėti visus veikiančius konteinerius. Ir dokerio konteinerio patikrinimas [konteinerio ID] norėdami peržiūrėti konteinerio turinį.
4. Dockerfile
Dockerfile yra dokumentas, kuriame pateikiamos instrukcijos, kaip sukurti Docker vaizdą. Failas nurodo pagrindinį vaizdą, programos kodą ir failus, reikalingus vaizdui sukurti.
Failas taip pat apima aplinkos kintamuosius ir vaizdo kūrimo komandas. Dockerfile galite sukurti kaip ir bet kurį kitą failą. Turite nurodyti failo instrukcijas naudodami „Docker“ suprantamą sintaksę. Toliau pateikiamas pavyzdinis Dockerfile pavyzdys:
5. „Docker Compose“.
„Docker Compose“ yra įrankis, skirtas apibrėžti ir paleisti kelių konteinerių „Docker“ programas. Visas paslaugas konfigūruojate YAML faile. YAML failas yra dokumentas, kuriame nurodote savo programai reikalingas paslaugas. Tada galite sukurti ir paleisti visas paslaugas naudodami vieną komandą.
„Docker Compose“ gali paleisti programas įvairiose aplinkose. Tai gali būti gamybos, pastatymo, kūrimo ar testavimo aplinkos. „Docker Compose“ supaprastina sudėtingą kelių konteinerių derinimo procesą.
Naudodami „Docker Compose“ galite valdyti programą per visą jos gyvavimo ciklą. Tai gali apimti paleidimo, sustabdymo ir atstatymo paslaugas. Taip pat galite peržiūrėti veikiančių paslaugų būseną, srautinio žurnalo išvestį ir paleisti komandas paslaugose.
Naudodami „Docker Compose“ galite konfigūruoti tinklus, tvarkyti tomus ir nurodyti priklausomybes. Be to, gamyboje galite išplėsti taikomąsias programas horizontaliai, nurodydami replikų paslaugas.
„Compose“ supaprastina sudėtingų programų diegimą įvairiose aplinkose. Taip pat galite jį naudoti norėdami pakartoti tą pačią aplinką skirtingose sistemose. Išmokite naudoti „Docker Compose“. gali padidinti jūsų programos efektyvumą.
Štai Docker Compose YAML failo pavyzdys:
6. Docker Hub
Docker Hub yra internetinis „Docker“ konteinerių registras. Kadangi tai yra didžiausias konteinerių registras, tai yra bendradarbiavimo įrankis kūrėjams ir atvirojo kodo bendradarbiams. Tai taip pat puiki rinka programinės įrangos pardavėjams.
„Docker Hub“ yra patikimas šaltinis ieškant patikimos virtualizacijos programinės įrangos. Galite sukurti saugyklą ir bendrinti daugiau nei 100 000 vaizdų.
Tu gali talpinti savo programas ir kodas platformoje. Taip pat galite bendradarbiauti kurdami projektus su kitais kūrėjais. „Docker Hub“ turi nemokamą viešą parinktį arba mokamus privačius atpirkimo sandorius konkrečioms įgaliotoms komandoms.
7. „Docker“ tinklas
„Docker“ tinklas yra funkcija, leidžianti konteineriams bendrauti tarpusavyje ir išoriniais ištekliais. Tinklai užtikrina kontroliuojamą ir izoliuotą ryšį tarp konteinerių. Tai gali būti konteineriai, veikiantys viename arba keliuose pagrindiniuose kompiuteriuose.
Kai įrenginyje paleidžiate konteinerį, jis nėra veikiamas išorinių tinklų. Naudojate prievadus, kad parodytumėte konteineriams išorinius IP adresus, DNS paslaugas, maršrutų lenteles ir interneto šliuzus.
Tinklas leidžia konteineriams veikti izoliuotoje tinklo aplinkoje. Tinklai suteikia vardų erdves ir IP adresus, sumažindami konteinerių konfliktus ir padidindami saugumą.
8. Docker tomai
„Docker“ tomai yra mechanizmas, naudojamas nuolatiniams duomenims saugoti. Pagal konstrukciją konteineriai yra trumpalaikiai. Tai reiškia, kad juos lengva pakeisti arba sunaikinti su visais jų duomenimis. Tačiau yra atvejų, kai norėtumėte išsaugoti duomenis. Tokiais atvejais galite naudoti Docker tomus nuolatiniams duomenims valdyti.
Tomai taip pat naudojami kitais tikslais, įskaitant leidimą dalytis duomenimis tarp konteinerių. Palyginti su kitomis saugyklomis, juos lengva sukurti ir perkelti. Be to, galite valdyti apimtis naudodami „Docker“ CLI arba API.
Jei paleidžiate konteinerį be tomo, „Docker“ jį sukuria automatiškai. Taip pat galite kurti ir tvarkyti iš bet kokių konteinerių atskirtus tomus. Norėdami sukurti tomą, naudokite šią komandą.
docker volume create my-vol
Norėdami pamatyti sukurtą tomą, paleiskite šią komandą:
docker volume ls //local my-vol
Tada galite pritvirtinti tomus prie bet kurio pageidaujamo konteinerio. Daugiau apie tomus galite perskaityti Dokeris oficialius dokumentus.
Kitos Docker funkcijos
„Docker“ yra vienas geriausių konteinerių valdymo ir versijų valdymo pasirinkimų. Jei išmoksite „Docker“ įrankių rinkinį, galėsite pagerinti ir supaprastinti kūrimo darbo eigą.
„Docker“ turi daug funkcijų, kurias galite naudoti programoms tvarkyti. Įvaldę pagrindines funkcijas, galite tyrinėti kitas sudėtingas funkcijas, pvz., Docker Swarm, naudojamą sudėtingoms programoms organizuoti.