24.05.2016 | 13:15
Evo da malo otvorimo još jednu temu, vjerujem da ima ljudi koji koriste ovo ili će možda koristit u budućnosti.
Za one koji nisu čuli za Docker mogu više infomacija naći tu:
www.docker.com no ukratko to je open source platforma koja u komparaciji prave virtualizacije mijenja hypervizor i guest OS u jednom potezu. Naravno Docker se ne može komparirati sa pravom virtualizacijom, ali za neke primjere je više nego dovoljan pogotovo kada OS kao komponeneta nije potreban (zato jer ga sami fizički NAS ili neki drugi stroj već koristi).
Primjer toga je potreba za nekim komadom software koji se može instalirati i pokretati na fizičkom stroju na kojem je docker platforma, ali njegova konfiguracija je pre kompleksna kako bi se elegantno izvela pa se zbog toga slaže unutar Docker image-a (i kasnije containera) koji će omogućiti da cijelo rješenje ostane u sandbox stanju (kao primjerice iOS aplikacije).
Dodatno tome neka rješenja traže i određene framework-e, binary-e i slično što možda netko ne želi instalirati na svoj hadrware izbora.
Još jedna primjena gdje docker rješenje stvarno dolaze do izražaja je podizanje više verzija iste aplikacije u svrhu testiranja. Npr, v1, v2 itd identične aplikacije kako bi se vidjela kako se ponaša na istom hardware-u. Ovo je također i prikladno kako bi se i aplikacija prebacila sa jednog fizičkog hosta na drugi (dakle sa jednom docker servera na drugi).
Mogućnosti ima mnogo, a ja bi samo naveo neke koje čak i sam Synology koristi za neke svoje aplikacije, te neke koje sam vidio da bi mi mogle biti korisne.
Docker na Synology platformi nije podržan na svim modelima. Također tu je bitno naglasiti da je kao i kod prave virtualzacije za određene aplikacije/rješenja potrebno dosta CPU/RAM resursa.
Osobno koristim 412+ model Synology koji ima podršku za Docker i dodatno je stroj podignut sa 1 na 2GB rama (nije nužno i nema veze sa Docker zahtjevima, ali dobro dođe ovisno o tome koliko se opterećuje sam NAS).
Instalacija Dockera se vrši klasičnim putem preko Package Center-a. Po završetku instalcije, platforma je spremna za korištenje.
Aplikacija ima solidno GUI rješenje (iako za neke ozbiljnije zahvate će se morati koristiti SSH pristup i docker command naredbe) preko kojeg se može vidjeti grafičko stanje svih virtualnih rješenja koje se trenutno koriste (Docker ih zove 'containers'), njihova CPU i RAM utilizacija kao i ukupna utilizacija istih na razini cijelog NASa (hosta).
Registry segment je mjesto gdje se radi pretraživanje i slaganje repozitorija iz kojeg će se pozivati gotovi Docker image-i koje želimo pokrenuti i koristiti. Zadano stanje docker je da korsiti svoj registry.hub.docker.com URL koji se može i pregledavati preko docker.com stranice.
Rezultati pretrage izgledaju primjerice ovako (recimo Redmine platforma):
Svaki od punuđenih image-a je službena (ili 3rd party) moguća implmentacija docker verzije koju je moguće pokrenuti na vašem Docker hostu (naravno neke su gladne resursa tako da to uvijek treba imati u vidu).
Nakon što se preko 'download' tipke preuzme odgovarajući image on ostaje dostupa u 'Image' kategoriji. Putem njih se može kreirati koliko god korisnik želi containera koji će biti konfigurirani na razne načine. Dodatno, prilikom preuzimanja imagea ponuditi će se i koju točno verziju rješenja želite, tako da svaki image može biti druge verzije i shodno tome i manji ili veći broj njegovih containera kojie želite koristit.
Nakon što je image preuzet, odabere se sa popisa i pokreće se kreiranje 'containera' (dakle konačnog rješenja koje će biti aplikacija na vašem hostu.
Neću sada objašnjavati svaki pojedini korak wizarda (jer i svaki image možda ima spcifične potrebe koje je potrebno napraviti i definirati kako bi container ispravno radio), no u svakom slučaju po kreirano kontaineru isti se može pokretati i stopirati po želji.
Neka rješenja su web aplikacije, baze, aplikacije i slično, pa će se shodno tome i na drugačiji način njima pristupati.
Za primjer navesti ću nešto što je poprilično korisnio pogotovo korisnicima Synolgy okolina (ali naravno i bilo kojih drugih serverskih okruženja) jer nativni DSM 'Task Manager'/Resource monitor nije na nivou. Spor je, nedovoljno informativan i definitvno ima boljih rješenja.
Jedno od tih rješenja je i
NetData. System monitor u realnom vremenu sa hrpom plugina i mogućnosti nadzora raznih hardware i software komponenti (recimo SQL stanje baza, performance, lockovi i slično).
Nakon što je složen na NASu (ili bilo kojem drugom serveru na kojem se želi pratit stanje resursa, opterećena i sva ostala čudesa, pristup dashboardu ide preko URL adrese vašeg hosta i porta na kojem je kontainer složen.
Defaultno za NetData to je port 19999 na http-u i izgleda ovako u crnoj i bijeloj varijanti:
Sva konfiguracija ovog alata ide preko odgovarajuće conf datoteke no to sada nije ni bitno. U živo ovo izgleda jako impresivno, fluidno i informativno što je i najbitnije.
Poanta ovoga je bila napisati par riječi o Dockeru kao takvom i navesti NetData kao jedno brzo i jako kvalitetno besplatno rješenje kao zamjenu za Synology Resource monitor.
Osobno koristim još neka rješenja kroz Docker i vjerujem da ću ih u dogledno vrijeme koristiti još i više. Ako netko ima neki primjer korisne apliakacije koju koristi kroz Docker, volio bi čuti