Kao što već znate, postoji nekoliko vrsta virtualizacije, jedna od njih je virtualizacija na razini operativnog sustava, a jedan od projekata koji se po tome najviše ističe je Lučki radnik, zajedno s drugim projektima otvorenog koda kao što su OpenVZ, LXC / LXD, Linux-VServer itd. ili vlasnički softver Virtuozzo. Ako poznajete ovaj svijet ili ste redoviti korisnik ove vrste blogova, već ćete znati za projekt čiji je logo kit (otuda i naslov za one koji ga još uvijek ne znaju), a prije svega ćete primijetiti kako se posljednjih godina njegova prisutnost u medijima i interes eksponencijalno povećavaju.
A upravo su te nove tehnologije sadašnjost i budućnost, posebno s brutalnim rastom usluga u Hrvatskoj oblak o čemu smo govorili toliko puta. Docker, među mnogim drugim otvorenim izvorima i besplatnim projektima, dopuštaju ovo proširenje i velike mogućnosti koje zahtijevamo od oblaka. Ali što je Docker? Što je kontejner? Kako radi?
Pristanište i spremnici:
Iako odgovor je nešto složeniji i trebalo bi mi nekoliko ovih članaka, pokušat ću to sažeti. Međutim, ako trebate znati više o ovom fantastičnom projektu, postoje vrlo dobre knjige poput Alberta Gonzáleza, trenutnog savjetnika za oblake Red Hat. To je praktični vodič koji možete dobiti po pristupačnoj cijeni i u Hrvatskoj Amazon kao u agape. Pa, s tim rečeno, upoznajmo što je Docker.
Svi znamo da je Spremnici Oni su postali alat s puno potencijala u Linuxu, pa ih je moguće implementirati i njima upravljati zahvaljujući Docker softveru. Spremnici nisu ništa drugo do izolirane "kutije" s osnovnim stvarima za pokretanje određenog programa ili aplikacije. To se može shvatiti kao lagani virtualni stroj, umjesto cjelovitog i teškog s kojim se radi u punoj virtualizaciji. Ovo smanjenje rezultira manjim troškovima.
Spremnici također dodaju lakoću prenosivost, samodostatnost i fleksibilnost jako poželjni od strane programera. Sve zahvaljujući LXC-u iz naše omiljene jezgre, Linuxu, te samom projektu Docker, sa svojim spremnicima, slikama i spremištima. Upravo su te prednosti donijele uspjeh, što je primijećeno i sudjelovanjem nekih velikih tvrtki u sektoru poput Googlea, Red Hat-a, IBM-a i Microsofta, kao i njegovom primjenom i dobrim prijemom u velikim tvrtkama i usluge u oblaku koje sve što ga svakodnevno koristimo (AWS, Digital Ocean, ...).
Instalirajte Docker korak po korak:
Imate nekoliko alternativa instalirati Docker, od dobivanja tarball-a s izvornim kodom i kompajliranja, do preuzimanja binarnih datoteka iz različitih spremišta i upravljanja njima s upraviteljima paketa vašeg openSUSE distro, Ubuntu, Debian, CentOS, Fedora, itd. Možda je s binarnim paketima ugodnije, ali kako ne bih previše produžio temu, predstavit ću izravniju i univerzalniju metodu koja djeluje u bilo kojoj distribuciji:
sudo curl -fsSL https://get.docker.com/ | sh
Jednostavno. Sad jesmo vrag i klijent, potonji će biti onaj koji komunicira s Docker demonom i omogućit će nam da radimo sve što ovaj softver nudi. Ali još uvijek treba nešto učiniti, a to je ukinuti uslugu, odnosno pokrenuti Docker demon. Za systemd možete učiniti sljedeće:
sudo systemctl enable docker sudo systemctl start docker
Da je sve prošlo u redu, već će biti aktivan sve. Možete ga provjeriti sa:
sudo systemctl status docker
Sad ga možemo početi koristiti ...
Prvi koraci: stvaranje spremnika
Pa, kao što već znate, kontejner To je paket sa svime što je potrebno za pokretanje jedne ili više aplikacija, odnosno slično virtualnom stroju, ali lakši ovisno o hostu za izvršenje. Da bi spremnik mogao raditi, on mora imati potrebne knjižnice za izvršavanje, kao i određene ovisnosti, poput nekih alata operacijskog sustava. Naravno, još jedan od potrebnih dijelova je runtime okruženje, odnosno izvršno okruženje kao što su tumači za protumačene jezike, JVM, datoteke s kodom ili binarnim datotekama itd.
Tamo su neke osnovne naredbe Dockera s kojim ćete se "kretati" unutar okoline, prilično su brojni, poput informacija, umetanja, ubijanja, zaustavljanja, pokretanja, izrade, ps, itd. Da biste mogli vidjeti sve njih i čemu služi svaki od njih, sve što morate učiniti je pokrenuti:
docker
Za više informacija možete se obratiti službena dokumentacija.
kako može? stvoriti spremnik s Dockerom? E, sad ćemo dati primjer, stvorit ćemo spremnik s Ubuntuom i za to koristimo naredbu run koja omogućuje i stvaranje i izvršavanje spremnika (više informacija trči-h):
docker run -i -t ubuntu /bin/echo Prueba contenedor
A to će koristiti lokalnu sliku ako je već imamo ili ćemo je, ako je ne može pronaći, preuzeti. Što je više stvorit će spremnik, dodijelit će prostor za novi FS i montirati ga. Naravno da ćete dodijeliti mrežno sučelje za komunikaciju gost / domaćin. Jednom završeno, pokazat će nam odjek s rečenicom «Test kontejnera»To smo stavili.
Vi pogledajte sve slike što imaš sa:
docker images
I za suza jedan, možete koristiti ID spremnika sa:
docker start -a <pon-la-ID-del-container>
Da ih zaustavim, umjesto starta možete koristiti stop:
docker stop <pon-la-ID-del-container>
A ovo je samo osnova u Dockeru. Nadam se da vam je pomoglo da započnete i poduzmete prve korake mnogih, jer vam može pružiti mnogo mogućnosti. Kao što vidite, to je vrlo široka tema i u kojoj možete produbiti započinjući s ovim vodičem ili kupiti dodatne knjige poput one koja je navedena u prvim odlomcima, a koju preporučujem zbog jednostavnosti u praktičnim objašnjenjima. Ne zaboravite ostaviti svoje komentare...
Zanimljivo, veselit ću se sljedećim člancima, hvala