Video: Docker?!?! But I'm a SysAdmin (November 2024)
Docker je odprtokodna platforma za gradnjo, upravljanje in zagon aplikacij v virtualnih vsebnikih na strežnikih Linux. Ti vsebniki so virtualni prostori, ustvarjeni z virtualizacijo OS znotraj jedra Linuxa, kjer so viri izolirani. Razlikujejo se od storitev PaaS, kot sta Microsoft Azure ali Amazon EC2, ki ponujajo virtualne strežnike, imenovane primerke strežnika. Razmislite o Dockerju kot o načinu dostave uporabniških primerkov.
Zaradi teh izoliranih vsebnikov Docker razvijalcem in sistemskim skrbnikom omogoča hitro delovanje, centralno upravljanje in varno porazdeljene aplikacije. Zmogljivost, trdijo mnogi, je še bolj spretna in lahka kot pri virtualnih strežnikih. Projekt skupnosti z odprto kodo privablja tako ljubitelje odprtih virov kot tudi velika tehnološka podjetja, kot so Red Hat, Microsoft in Rackspace, ki so vsa sporočila o načrtih ali so že uvedla neko obliko interoperabilnosti med Dockerjem in njihovo ponudbo.
Sistemski skrbniki, zlasti tisti, ki so večino svoje kariere porabili za upravljanje majhnih do srednjih infrastruktur Windows, morda težko razumejo, kaj lahko Docker naredi za njih in sisteme, ki jih upravljajo. Tako smo se pogovarjali z začinjenim sistemskim skrbnikom, ki je tudi navdušen uporabnik Dockerja, Kelsey Hightower, svetovalec, ki sodeluje z različnimi startupi, kot je CoreOS, ki dobavlja izdelek, ki temelji na Dockerju.
PCMag: Kako vi in vaša organizacija trenutno uporabljate Docker?
Hightower: Docker je vgrajen v operacijski sistem in je glavna metoda za zagon aplikacij. Ni upravitelja paketov ali lokalnih programov - ni Java, Python, Ruby ali Perl. Pomagamo ponudnikom platforme kot storitev, da sestavijo ponudbo na Dockerju. CoreOS nudi dodatna orodja za pomoč pri upravljanju vsebnikov Docker.
PCMag: Ali lahko navedete nekaj primerov uporabe v resničnem svetu za Docker?
Hightower: Večina podjetij uporablja Docker kot nadomestek za zapleteno embalažo aplikacij. Če imate na primer aplikacijo Java, boste potrebovali JVM in najverjetneje vsebnik aplikacij, ki zahteva različne različice JVM in Tomcat. Za poenostavitev stvari se Docker uporablja za ustvarjanje vsebnika s pravo različico odvisnosti od Jave, Tomcat in drugih aplikacij. Nič več konfliktov!
Docker se uporablja za samodejno testiranje in CI (kontinuirana integracija). Posode Linuxa (ki jih upravlja Docker) je veliko hitrejše za gradnjo in zagon kot njihovi VM kolegi. Zdaj v testnih okoljih zaženemo baze podatkov, posrednike sporočil in druge storitve, od katerih so odvisne naše aplikacije, preden začnemo izvajati integracijske teste. To izboljšuje kakovost testiranja, kot ga zdaj testiramo glede na resnično stvar.
Docker olajša nastavitev proizvodnih okolij, podobnih proizvodom. Na enem samem Dockerjevem gostitelju lahko moji razvijalci brez težav namestijo vse komponente, ki se izvajajo v proizvodnji, vključno z bazo podatkov, strežniki za predpomnjenje itd. sposobnost poganjanja številnih vsebnikov na enem virtualnem stroju, lahko vsakemu razvijalcu dam svoje okolje.
PCMag: Kakšna strma je po vašem mnenju krivulja učenja za sys administratorje, ki ne kodirajo ali uporabljajo veliko ukazne vrstice?
Hightower: Če lahko z ukazno vrstico zaženete in ustavite storitev Windows ali UNIX, imate dovolj temeljev, da začnete uporabljati Docker.
Toda Docker je treba še bolj poglobljeno pogledati kot orodje za gradnjo in skupno rabo vsebnikov Linux ter za njihovo upravljanje.
Nasveti in namigi
Hightower je ponudil tudi nekaj kazalcev in nasvetov za sistemske skrbnike o vstajanju in delu z Dockerjem:
Ustvarjanje vsebnika Linux z Dockerjem:
Raven spretnosti: vmesna. Bi morali imeti izkušnje z gradnjo programskih paketov, kot so Linux RPM-ji, MSI ali preprosti sveženji aplikacij, kot so datoteke zip in tar.
Nasvet: Ustvarjanje vsebnika Linux z Dockerjem je precej preprosto. Vse, kar potrebujete, je delujoča Dockerjeva namestitev in Dockerfile - to je besedilni dokument, ki vsebuje vse ukaze, ki bi jih običajno ročno izvedli za izdelavo Dockerjeve slike.
Upravljanje vsebnika Linux z Dockerjem:
Nivo spretnosti: začetnik.
Nasvet: Orodje ukazne vrstice Docker je najbolj priljubljen način za distribucijo, zagon in zaustavitev vsebnikov Linux. Večina sys administratorjev, udobnih z uporabo ukazne vrstice, ne bo imela težav z Dockerjevim CLI-jem. Največji ulov pri tem je, da se Docker-ov demon ne izvaja izvirno v operacijskem sistemu Windows ali Mac OS X - potreben je Docker gostitelj z Linuxom. Večina ljudi se odloči za vodenje Dockerjevega gostitelja v lokalnem VM-ju z uporabo Boot2Dockerja ali v oblaku (z EC2, Google Računalnikom itd.) Hightower je dejal: "Osebno vodim CoreOS na VMware Fusion na svojem Mac računalniku. v 5 minutah. Ko je strežnik Docker vzpostavljen, bodo orodja Docker CLI v operacijskem sistemu Windows in Linux delovala odlično."
Hightower tudi svetuje, da bomo zdaj, ko je Docker 1.0 zunaj, verjetno na voljo več orodij, ki temeljijo na GUI. Prav tako priporoča, da si ogledate Tutum.co, gostilno rešitev Docker, zaradi katere je delo z Docker posodami brezhibno.