„Docker“ yra platforma, supakuojanti programą ir visas jos priklausomybes konteineriu pavidalu. Šis talpinimo aspektas užtikrina, kad programa veikia bet kurioje aplinkoje.
Kaip matome diagramoje, kiekviena programa veikia atskiruose konteineriuose ir turi savo priklausomybių ir bibliotekų rinkinį. Tai užtikrina, kad kiekviena programa yra nepriklausoma nuo kitų programų, suteikdama programuotojams garantiją, kad jie gali kurti programas, kurios netrukdys viena kitai.
Taigi programuotojas gali pastatyti konteinerį, kuriame yra įdiegtos skirtingos programos, ir ją suteikti QA komandai. Tada kokybės užtikrinimo komandai tereikės paleisti sudėtinį rodinį, kad būtų pakartota kūrėjo aplinka.
3 pav. „Docker“ platformos diagrama
„Dockerfile“, „Docker Images“ ir „Docker Containers“ yra trys svarbūs terminai naudojant „Docker“.
4 pav. „Docker“ veikimas§
„Dockerfile“ yra tekstinis dokumentas, kuriame yra visos komandos, kurias vartotojas gali iškviesti komandinėje eilutėje, norėdamas surinkti „Docker Image“. „Docker Image“ gali kurti vaizdus automatiškai, skaitydamas „Docker file“ instrukcijas.
„Docker Image“ galima palyginti su šablonu, kuris naudojamas kuriant „Docker Containers“. Taigi, šie tik skaitomi šablonai yra sudėtinio konteinerio elementai. „Docker Image“ vaizdai saugomi „Docker“ registre. Tai gali būti vartotojo kietajame diske arba išorinėje talpykloje, pvz., „Docker Hub“, leidžianti keliems vartotojams bendradarbiauti kuriant programą.
„Docker Container“ testinę aplinką galime vadinti „Docker Image“ todėl, nes talpina visą paketą, reikalingą programai paleisti. Taigi, „Docker Container“ iš esmės yra parengtos programos, sukurtos iš „Docker Images“, o tai yra pagrindinis „Docker“ naudingumas.