Godina 2007. poznata je po mnogo toga, ali vjerojatno najpoznatije događanje bila je prezentacija iPhonea. Mnogi su govorili da od tog uređaja neće biti ništa i da će propasti, no već sljedeće godine pojavio se AppStore. Aplikacije su ga u kratkom vremenu preplavile i bilo je nevažno jesu li besplatne ili komercijalne, ako su vrijedile, ubrzo bi se pojavile na većini telefona. No, što je s njihovim razvojem?

Iako autor ovih redova nema nikakvog iskustva u programiranju bilo kakvih aplikacija, niti se želi baviti programiranjem, danas je svima jasno da bez aplikacija ne možemo funkcionirati. Možda se čini da bi ovaj tekst mogao ići u smjeru govora o razvoju, no odmah ću reći da to neće biti slučaj. Poanta je da je razvoj aplikacija i broj dostupnih razvojnih platformi danas napravio tržište za svakoga.

Danas postoji mnoštvo aplikacija i platformi za sve moguće uređaje i operativne sustave i tu se javlja jedan od čestih izazova; kako dovesti aplikaciju na sve uređaje i platforme bez pretjeranog utroška vremena na razvoj za specifičnu platformu?

Plavi kit

Platforma Docker je mnogima danas još uvijek nepoznata. Docker se pojavio 2013. godine i postao dostupan za korištenje. Što je u biti Docker?

Ideja iza Dockera je jednostavna; kako postaviti aplikaciju sa svim njezinim popratnim zahtjevima, frameworkom, dakle sa svime što je potrebno kako bi aplikacija radila, na platformu koja je izvorno ne podržava? Drugo, kako aplikaciju koja je konfigurirana i spremna za korištenje migrirati na novi stroj u što kraćem vremenu ili prebaciti s testne u produkcijsku okolinu?

Drugim riječima, bilo bi odlično kada bi aplikacija bila u svojem sandboxu sa svim elementima spremna za pokretanje neovisno o hardveru i operativnom sustavu na kojem korisnik radi. U takvim situacijama upravo Docker dolazi kao rješenje. Sloj između OS-a i sandbox aplikacije koji će razumjeti kako Dockerov paket radi i u konačnici prezentirati aplikaciju krajnjem korisniku.

Često pitanje koje se nameće jest koja je onda uopće razlika između neke virtualne okoline (VM) i Dockera? Najbolje je to objasniti uz jednostavnu sliku koja jasno prikazuje razliku ovih dvaju pristupa.

Docker
Usporedba između virtualne okoline i Dockera

Sa slike je vidljiv pristup virtualnog stroja i njegova pripadajućeg hosta/, dok je s desne strane prikazan Dockerov pristup. Razlika je poprilična i vidimo da osim što je za punokrvnu virtualizaciju potreban nekakav hipervizor (VMWare Fusion, ESXi, Parallels, VirtualBox; dakle tip 1 ili 2 nebitno) uz to nam je potreban i OS virtualnog stroja na kojem će se u konačnici pokrenuti neka aplikacija (App A, B...).

Iako su neki hipervizori kao i OS-ovi besplatni, to ne mora uvijek biti slučaj, no čak i da je tako, postoji glad za resursima. Svaki virtualni stroj traži određenu količinu procesorske snage, nešto radne memorije i slično, a sve to da biste vi pokrenuli neko aplikacijsko rješenje.

Dockerov pristup je različit. Vidimo sa slike da je jasno kako će nam trebati neki stroj (što jači to bolje, ali ne mora biti serverskih performansi), OS koji će pokretati taj uređaj i nakon toga nam je potrebna Dockerova platforma (Docker Engine sloj sa slike). Dakle, instalacija platforme sa svojim instrukcijama i "jezikom" koji razumije manipuliranje (sandbox) aplikacijskim kontejnerima.

Treba napomenuti da nemamo potrebu za specifičnim OS-om već se aplikacija direktno oslanja na Dockerovu platformu. To znači da resursno gledajući ne moramo imati CPU i RAM koji će se morati odvojiti samo kako bi se računalo pokrenulo i da bismo tek onda došli do svoje aplikacije (kao u slučaju virtualnih okolina, tj. računala). U ovom slučaju trošit ćemo resurse samo na zadovoljavanje potreba navedene aplikacije.

Rješenja zasnovana na virtualnim okolinama dovode nas do situacija u kojima u konačnici možemo koristiti aplikaciju koja nije sama po sebi gladna resursa, ali činjenica da nam treba virtualno računalo samo zato da bismo je mogli i pokrenuti, velik je zahtjev. A što je tek s održavanjem OS-a virtualnog stroja? Treba ga redovito ažurirati i brinuti se o antivirusnoj zaštiti ako se radi o nekom izdanju Windowsa. Ukratko - boli glava!

Synology DSM + Docker

Prikazat ću kako Dockerovo rješenje radi na Synology NAS platformi na kojoj se pojavio unazad nekoliko godina. Prije nego krenem s primjerima, odmah bi naveo da ne podržavaju svi Synologyjevi modeli Docker. Postoje hardverski preduvjeti kako bi radio. U Synologyjevu svijetu to su uglavnom "+" uređaji (dakle oni koje pogone Intelovi procesori).

3rd party scena dostupnih aplikacija za DSM je sada, možemo reći, solidna. Zajednica je velika i razvoj se svakodnevno ubrzava i širi. Kao što je na početku članka spomenut Appleov AppStore i njegovo značenje za platformu, tako i popularnost DSM-a, pa tako i Synology imena, čine upravo aplikacije i servisi kojima možemo proširiti funkcionalnost našeg NAS uređaja.

Synology je podrškom za Docker otvorio mnoštvo drugih servisa i aplikacija koje izvorno nisu podržane, točnije nisu dostupne iz njihovog službenog Package Centrea. Primjerice, kako bi bilo na NAS-u (koji ima dovoljno fizičkih resursa) koristiti Ubuntu OS? Ili recimo CentOS? Možda Ghost Blog platformu ili jednostavno neko aplikativno rješenje koje vam treba, ali službeno za Synology nije podržan kao one-click paket?

Instalacija i korištenje Dockera

Kao i svaki drugi paket, Docker se mora instalirati preko Package Centera prije nego li se može koristiti. Nakon svega jednominutne instalacije, platforma će biti dostupna preko svoje ikone unutar DSM-a. Ovdje treba naglasiti da je Synology napravio vlastito sučelje za lakše upravljanje dijelom platforme i taj UI će varirati od OS-a do OS-a na kojem se Docker nalazi.

Filozofiju smo prošli, a sada da vidimo drži li cijela priča vodu.

Kako bismo nešto koristili putem Dockera moramo učiniti dva koraka:

1. preuzeti image željene aplikacije,

2. kreirati container temeljem instalacije iz prvoga koraka sa svim popratnim konfiguracijskim parametrima.

Otvaranje Dockerove aplikacije prikazat će grafičko sučelje koje se može, ali i ne mora koristiti. Naime, neke instalacije mogu se lijepo konfigurirati putem sučelja, ali s druge strane, neke će se moći samo izvesti putem terminala, tj. naredbenog retka. U nastavku će se pokazati primjeri za obje situacije.

Sučelje

Kao što vididte s donje slike, pregled svih trenutno aktivnih aplikacija vidljiv je s prikazom potrošnje dvaju glavnih resursa (CPU i RAM). Dodatno se vidi i njihovo ukupno opterećenje na razini cijelog DSM-a (dakle ovo se ne odnosi samo na Dockerove aplikacije).

Docker
Pregled korištenja resursa

S druge strane, ako želimo vidjeti koje su sve aplikacije složene i konfigurirane, možemo koristiti "Container” tab. Preko ovog pregleda aplikacije se mogu pokretati te zaustavljati koristeći odgovarajući “prekidač”.

Docker
Pregled "Container" taba

Konfiguracija aplikacije

Prije sam naveo da za početak moramo preuzeti instalaciju putem Dockerova repozitorija. Izvor može biti zadana putanja koja je već prethodno postavljena, ali s druge strane mogu se definirati i dodatne putanje (recimo ako se radi neki lokalni razvoj).

Prije korištenja neke instalacije bilo bi uputno provjeriti konfiguraciju kako bismo bili sigurni da neće biti problema prilikom korištenja. Za svaku aplikaciju bit će sigurno nekoliko dostupnih instalacija (ovisno o tome koliko je popularna) i zato će neke biti bolje ili lošije dokumentirane. Većina dobro dokumentiranih instalacija ima poveznicu na dokumentaciju i konfiguraciju, primjerice: https://hub.docker.com/r/linuxserver/radarr/

Nakon preuzimanja instalacije može se krenuti s postupkom konfiguracije putem sučelja ili putem naredbenog retka. Treba reći da se i preuzimanje samih instalacija također može izvesti na oba načina.

Docker
Ekran s općenitim postavkama" taba

Važno je napomenuti da prije nego li se krene raditi s nekom aplikacijom putem Dockerova okružja, svi podaci, kao i sama aplikacija, bit će sandboxani. To znači da neće postojati elegantan način za pristup eksternim podacima ili recimo konfiguracijskim datotekama same aplikacije. Dodatno, prilikom svakog pokretanja samoga "kontejnera", on će se postaviti od nule (resetirati) kao da prvi put pokrećete aplikaciju. Naravno, tome se može doskočiti i to je upravo ono oko čega većina korisnika ima problema. Ovo je, što se kaže, by design ponašanje i kao takvo traži konfiguriranje same aplikacije na ispravan način kako se spomenuta situacija ne bi događala.

Zato moramo prilikom konfiguracije definirati osnovne parametre, ali najbitnije je razdvajanje same aplikacije od konkretnih podataka koji će se stvarati i modificirati. Nakon što se zada ime budućeg kontejnera možemo na početnom ekranu odabrati i kontrolu nad CPU/RAM resursima kako aplikacija ne bi nepotrebno divljala. Nakon ovoga koraka prelazi se u definiranje naprednih postavki.

Jedna od najbitnijih postavki, kako je prije spomenuto, jest razdvajanje podataka od same aplikacije. Za te potrebe koristi se tab "Volume" putem kojeg se izvodi mapiranje kontejner-direktorija s nekom stvarnom lokacijom na stroju koji služi kao Dockerova platforma (recimo NAS i njegov datotečni sustav). Dockerova virtualizacija radi na principu mapiranja resursa iz kontejnera prema fizičkom stroju, kao i mapiranja između više kontejnera ako je potrebno.

Pravila igre su uvijek ista: svaki element ima svoj aktivator, switch (više primjera kasnije), ovisno o tome što želimo konfigurirati, te nakon naziva switcha ide mapiranje i to prvo host destinacija, a zatim parametar unutar samoga kontejnera.

Primjerice:

-v (putanja do neke lokalne mape):/config

Ovo je upravo primjer kako se spaja lokacija neke mape (ili datoteke) prema specifičnoj mapi (datoteci) unutar samoga kontejnera.

Započinje se sa switchem -v (volume) te se nakon toga uvodi putanja gdje želimo da se podaci pohranju i budu dostupni. Dvotočka (:) služi kao simbol koji govori da putanja koja slijedi jest lokacija do mape/datoteke unutar samoga kontejnera. Na ovaj način može se napraviti proizvoljan broj putanja kako bi se mapiralo sve što želimo imati pod prstima i kontrolom izolirano od ostatka kontejnera. Korištenjem ovog postupka znamo da prilikom ponovnog pokretanja aplikacije (recimo uslijed resetiranja Dockerova hosta ili nadogradnje aplikacije na novu verziju) neće biti problema s podacima. Dodatno, možemo izraditi sigurnosnu kopiju podataka i konfiguracije koju smo izdvojili na neki konvencionalan način.

Docker
Pregled postavki

Po ovom modelu možemo raditi razna mapiranja ostalih parametara, primjerice portova, varijabli i slično:

-p 1024:8000 (primjer mapiranja porta na kojem želimo konkretnu aplikaciju i njezina internog porta na kojem se aplikacija javlja)

-e PGID= (primjer definiranja varijable group ID-a; naravno ako aplikacija ima potrebu za takvom konfiguracijom).

U konačnici broj parametara može biti popriličan - kao što je vidljivo s prethodne slike. Preostaje pokrenuti aplikaciju i pristupit istoj preko lokalne IP adrese računala na kojem se nalazi Docker aplikacija i specifičan port.

Drugi način kreiranja containera aplikacije je preko naredbenog retka i neke parametre možemo definirati samo ovom metodom.

Kao primjer ću koristiti odličan deamon - alat za dijagnostiku i statistiku resursa u stvarnom vremenu. Ukratko, DSM monitor je u najmanju ruku jednostavan, ali spor i škrt na informacijama. Kao njegovu zamjenu koristim NETData alat.

Navedeni deamon ćemo dakle instalirati tako da ćemo ga preuzeti iz repozitorija, ali njegovo kreiranje će se izvesti putem SSH konzole. Koristim NETData paket pod imenom titpetric/netdata što ne znači da se ne može koristiti neki drugi.

Kako bismo pristupili Dockerovim naredbama, nakon pristupa vašem NAS-u putem SSH-a i prijavom kao root user, možemo izvršiti slijedeću naredbu (ovo je samo primjer):

docker run --name netdata_titpetric -d --cap-add SYS_PTRACE -v /volume1/docker/netdata/config:/etc/netdata:rw -v /volume1/docker/netdata/log:/var/log/netdata:rw -v /proc:/host/proc:ro -v /sys:/host/sys:ro -p 19999:19999 titpetric/netdata

Cijela priča počinje s naredbom docker nakon koje ide ili create ili run naredba ovisno o tome što konfiguracija traži. U ovom slučaju deamon se pokreće pa zato imamo run naredbu.

--name (je switch kojim se definira ime containera; proizvoljno) --cap-add (definiranje Linuxovih mogućnosti; točnije containeri zadano ne mogu pokretati deamone unutar sebe pa se definira navedena naredba kako bi to bilo moguće) -v - već prije spomenuto mapiranje fizičke lokacije gdje želimo neke podatke iz samoga kontejnera. Tu posebno treba naglasiti mapiranje proc i sys NAS mount pointova koji gledaju na host/proc i host/sys destinacije našeg hosta (u ovom slučaju NAS-a) i to s RO (read only) dozvolama. Ukratko, s tih destinacija će se i povlačiti najviše parametara vezanih za hrpu značajki vašeg NAS uređaja.

Za kraj treba navesti da se sve ovo slaže kao jedna naredbena linija. Po samom izvršavanju kreirati će se kontejner i samoj stranici možemo pristupiti putem lokalne IP adrese NAS-a i porta (u ovom slučaju port je 19999, što je definirano -p switchem).

Zašto je ovo trebalo učiniti putem naredbenog retka, a ne preko sučelja? Iz razloga što za -v mapiranja ne možemo izvoditi na mapama koje nisu vidljive unutar samog sučelja (a proc i sys to zasigurno nisu). Također, switch za definiranje Linuxovih mogućnosti -cap-add nije moguće uvesti nigdje unutar sučelja.

Možda sve ovo djeluje pomalo komplicirano i naporno, ali jednom kada se shvate osnovna načela, stvar je vrlo jednostavna, a i ovakve se naredbe ne moraju nužno pamtiti već se kreiraju i pohrane. Dovoljan je jednostavan copy paste ako je potrebno kreirati novi kontejner u nekom trenutku.

Nadogradnja aplikacije

Doći će vrijeme kada će, kao i sve ostale aplikacije, biti potrebno nadograditi aplikacije unutar Dockerova svijeta. Kako i kada to raditi? Ovo je jedan od trenutaka kada Dockerove prednosti zaista dolaze do izražaja. Pretpostavimo da je nova verzija aplikacije (image) spremna, a vi koristite neku stariju verziju koja radi, no želite je nadograditi iz ovog ili onog razloga.

Docker
Registry tab

U svega dva koraka možemo nadograditi aplikaciju. Prvo, odlazimo unutar sučelja na Registry tab i preuzimamo novu verziju. Nakon toga zaustavljamo aplikaciju preko odgovarajućega kontejnera. Iz Action izbornika odabiremo Clear opciju (koja neće uništiti konfiguraciju niti podatke, već će samo natjerati aplikaciju da počne koristiti novu verziju pri sljedećem pokretanju) te za kraj opet pokrećemo kontejner. Gotovo!

Docker također nudi i opciju kloniranja kontejnera, recimo u svrhu testiranja više verzija postavki ili raznih verzija same konkretne aplikacije. Primjerice, može se koristiti ista aplikacija preko dva različita kontejnera (na različitim portovima), ali recimo s drugim postavkama. Na ovaj način možemo testirati i troubleshootati neki problem.

Zaključak

Evidentno je da se Dockerom mogu znatno proširiti mogućnosti nekog uređaja koji, iako ima tehničkih mogućnosti, možda zbog OS-a ima neka ograničenja. Dockerom sve to možemo zaobići i koristiti željene aplikacije bez neke "ekstra-kemije" (Ipkg, optware). Također i migracija s jednog hardvera na drugi (uz pretpostavku da na oba može biti instaliran Docker) je posao od svega nekoliko minuta.

Osobno sam u zadnjih godinu dana gotovo 90% korištenih aplikacija prebacio u Docker (osim nekolicine koje su Synologyjeve aplikacije i kao takve se instaliraju iz njihova Package Centra) i moram priznati da je odličan. Prebacivanje iz sustava konfiguracije gdje je aplikacija instalirana izvorno na stroju, u sustav Dockerova svijeta je također trivijalan posao. Nakon slaganja aplikacije u Dockeru i spajanja na postojeće podatke (konfiguraciju, bazu itd.) stvar funkcionira bez da aplikacija razazna da sada radi kao sandbox rješenje.

Ako imate vremena i potrebe za testiranje aplikacija i njezinih načina korištenja ili jednostavno želite čistu sandbox situaciju koja neće brljati po ostatku vašeg OS-a, Docker je rješenje za vas. Dajte si malo vremena i probajte, sigurno nećete požaliti. Za kraj još samo napomena da je izuzetno je važno imati sigurnosnu kopiju svojih podataka i konfiguracija koje koristite unutar aplikacija kako bi rekreiranje bilo što brže i bezbolnije.

 

Komentari  

dpasaric
28-02-2018 | 14:32
Hvala ti na članku Rusty. Ono što mene sada zanima, čisto da mi kažeš "na prečac" jer vjerojatno znaš, mogu li ja tako izvirtualizirat i u neki sandbox par PC aplikacija koje mi trebaju? Npr. imam jednu prastaru MS DOS aplikaciju za neke fizikalne izračune u vezi automobila. Glupo mi je radi te male aplikacije uvijek podizati cijeli PC emulator.

Ili drugi primjer: imam Windows aplikaciju koja traži podatke s CD-a koji je zapravo samo mountani ISO image (neki katalog s dijelovima). Bilo bi mi super da mogu sve to skupa zajedno zapakirati u jedan izvršni file koji mi radi na Macu i da mogu u trenu doći do podataka koji mi trebaju bez cijele predstave s VirutalBoxom, AVG-om za viruse i stalnim updateima. Prolaze li takve stvari ili ne?

Ili je sve to skupa zamišljeno samo na nekakvoj developerskoj razini, pa da onima koji pišu softver bude lakše portati stvari nabrzaka gdje treba, ali nema mogućnosti da se već gotove stvari izoliraju? Sjećam se Wine sustava, ali nisam ga nikada isprobao.
Citiraj
Anonimac
+1 28-02-2018 | 14:50
Davore, docker ma mac-u podrzava samo linux image-a, stoga nemozes virtualizirati Windows aplikacije. Docker cak nije niti prava virtualizacija, nego samo grupiranje resursa racunala, sve se vrti nativno na harveru/OSu. Ako se Docker pokrece na Windowsima, onda se mogu vrtiti i windows i linux image-i, za linux windows digne linux putem hyper-va (VM masina) u pozadini i tamo hosta linux container.
Docker je prvenstveno napravljen da olaksa deployment server aplikacija (CI/CD pipeline), da se infrastruktura (dependencyji) skriptira (dockerfile), i njeno upravljanje olaksa (docker swarm, kubernetes).
Citiraj
dpasaric
28-02-2018 | 14:59
I sumnjao sam da to ide u tom smjeru, ali vrijedi pitati! Vidio sam svakakvih čarolija zadnjih godina. ;) Probao sam i nekoliko Wine portova, radili su, ali nekako traljavo. No, dok je u pitanju neka dosadna spora aplikacija to prolazi ok. Hvala!
Citiraj
rusty
+2 28-02-2018 | 15:15
Pa za DOS app ne mogu tvrditi to bi trebalo malo pokopati, ali za Win dio tj njegove aplikacije bi se dalo napraviti kao Docker rješenje no tu treba navesti da cross architecture docker će i dalje imati 'malu' virtualku ispod sebe koja će emulirati izvornu okolinu kako bi se mogla vrtiti na nekoj drugoj arhitekturi.

Prije par godina za takvo nešto je trebala u biti kompletna virtualka unutar koje bi se onda vrtio docker container. Trenutne vezije Dockera za mac i windows u biti imaju taj sloj još 'tanje' napravljen tako da je u biti moguće tako nešto napraviti. Dakle Docker engine se u biti vrti na Apline Linux distibuciji preko xhyve virtualnog stroja na macos-u ili hyperV (rola) na windows strani. Managment te 'male virtualke' hendla Docker aplikacija ne punokrvni hypervisor.

Poanta je da ti na cross strani ne treba u biti ni framwork ni runtime. Recimo imaš java app u docker, ne treba ti java support na bare metal instalaciji.

Jasno je da ukoliko ostaješ na istoj arhitekturi da je to najlakše i najbolje, ali Docker će sigurno i dalje raditi na tome da transparentnost postane sve bolja i bolja i trenutno je bolje nego što je bilo kada se pojavio na sceni, a vjerojatno će biti još bolje.

Svakako je primarno zamišljeno i napravljeno da se olakša rad developerima i testerima no pošto se neke aplikacije razvijaju za više platformi očito je da se krenulo i u tom smjeru. Dodatno, jednostavnost je više naglašena kada su u pitanju neke web aplikacije, a ne appovi vezani za konkretnu arhitekturu, no uz nešto truda može se napraviti.
Citiraj
Anonimac
28-02-2018 | 15:43
Docker nije primarno napravljen za dev/test nego za deployment i hosting...
Kada je prvi put predstavljen, tamo 2013, onda je sluzio za izolaciju aplikacija primarno na EC2 virtualci. Ali kako se tu nije moglo zaraditi dovoljno novaca, dosli su novi manageri i direktori, te se okrenuli problemu deploymenta opcenito, znaci nevezano za platformu.
Citiraj
Riba
28-02-2018 | 18:11
dpasaric je rekao:
Npr. imam jednu prastaru MS DOS aplikaciju za neke fizikalne izračune u vezi automobila. Glupo mi je radi te male aplikacije uvijek podizati cijeli PC emulator.


Dosbox ti ne pomaže?

https://www.macupdate.com/app/mac/14973/dosbox
Citiraj
dpasaric
28-02-2018 | 18:16
Ha, nisam za to niti znao! Hvala, pogledat ću! :)
Citiraj
Kloba
28-02-2018 | 20:43
Lijepo napisano, da i tumple poput mene shvati o čemu pričaš. Svaka čast rusty!
Citiraj
Daddo
02-03-2018 | 13:06
Meni taj Docker se niš ne sviđa. Dođe mi ko Java. :D
Citiraj
rusty
02-03-2018 | 14:01
Jao.... Docker izjednačiti sa Javom je... jao..., vrati taj NAS nazad za kaznu!
Citiraj
Daddo
02-03-2018 | 14:49
Daj vidi smajli iza rečenice. A točno sam znao da ćeš tako reagirati ;)

Inače, kad smo već kod NAS-a moram onaj push tutorial proučiti koji si negdje u temi ostavio.
Citiraj
rusty
02-03-2018 | 14:50
Ma jasno ;)

http://www.jabucnjak.hr/forum/razno/162053-synology-notifikacije-putem-push-servisa.html#162053
Citiraj
dpasaric
04-03-2018 | 02:13
@Riba - samo da zahvalim na DOSBox preporuci! Odlično besplatno rješenje za DOS programe, konačno sam upogonio taj stari program koji mi je trebao bez problema! No, evo, ne bi se dogodilo da nije bilo ovog članka i rasprave o svemu... :)
Citiraj
petros
04-03-2018 | 18:38
Možda pitam glupost, ali tko pita ne skita! 8) Da li bi ja uz pomoć ovih alata mogao igru napisanu samo za Android nekako staviti u "kontejner" za iOS i onda je pokrenuti na mom iPod Touch? 8)
Citiraj
rusty
04-03-2018 | 20:27
Od nedavno poostoje neki pokušaji Dockera na Androidu, ali pošto nemam niti jedan uređaj ne mogu ništa potvrditi kako to radi. Što se iOSa tiče postoji Tugboat (10$) koji radi sa komercijalnim Docker cloudom. Dakle cosntaineri koji su i cloudu se mogu koristiti i pokretati preko te aplikacije. Opet, nemam pretplatu u Cloudu pa ni to ne mogu 100% tvrditi, ali evidentno je da se Docker počeo širiti na sve desktop i mobilne platforme. Sa jakim hendheld uređajima mislim da će biti samo pitanje vrijeme kada će ovo postati još jednostavnije.
Citiraj
petros
04-03-2018 | 21:08
Hvala! 8) Kasnije mi je palo na pamet da je cijena nekog starijeg polovnog Androida takva da nema smisla nešto emulirati, jedino ono da je čovjek komotan pa želi sve na jednom uređaju.
Citiraj
Sigurnosni kod
Osvježi

Komentiraj

Vikalica™

Zadnja poruka: pred 19 minuta
  • energyman: Upravo sam gledao video vezano za Shortcuts app koja se može povezati sa Siri. Stvarno se brutalne stvari mogu kombinirati. Mislim da je vrijeme da upgradeam iOS :D [link]
  • Yonkis: Konjina, da, zna se nakon teardowna. Kažem da Apple to ne objavljuje.
  • m_linc: Prodajem DJI Mavic Pro ako koga zanima ili mjenjam za macbook pro u rangu cijene 6000 kn - 0915805230
  • drazenp1706: Frend mi radi u američkoj ambasadi, ima iPhone 6 plus, uglavnom, ulazi tako da ga pokaže na ulazu, neki uređaj ga skenira i on ima slobodan ulaz.
  • erseticmatej: Pozz ekipa...nemojte se ljutit ak je glupo pitanje...ali eto nisam se jos susreo sa NFC-om, mislim nisam uhvatio vremena za proucavanje njega i njegovog algoritma i ostale karakteristike...al eto zanima me mozda jedno glupo pitanje...jel postoji aplikacija koja skenira recimo karticu od nekog ulaza i onda mogu slobodno prislonit mobitel da otkljucam...hvala
  • konjina: Zna se kapacitet , max model malo manje od 3200 mah, xs 2700 a xr 2800 , neznam tocno ali tu je njegdje
  • Yonkis: Jel možda želi da se ne brinemo o bateriji i kako je koristimo, kako je čuvati? Pa ipak cijeli mobitel ovisi o bateriji, Ako jednog dana na poleđinu iPhonea/iPada ugrade solarne ćelije, onda će svima biti lakše.
  • Yonkis: Zašto je Apple tako tajnovit po pitanju svojih baterija? Ne objavljuju kapacitet, pa throttlegate, "ova baterija drži sat i pol duže od "prijašnjimodel", sada u iOS 12 je ne moguće saznati što je Screen Off i kako mjeri, Zašto?
  • stefanjos: isti "problem" imam, ali to koliko je original nisam 100% siguran. vise sam uvjeren da je jako dobra kopija originala, ili su izvuceni iz kineskih modela pa preprodaju po ebayu
  • energyman: Ajde mi reci jel i na tvojem orginalu isto postoji problem da kad spremiš stanicu ime ne ostaje u onoj kućici nego je samo frekvencija. Tek kad odabereš, onda RDS normalno prikazuje ime? To me jako živcira, kako nisu mogli implementirati RT i AF.
  • stefanjos: Yonkis. Ugradjen je radio iz pola 2017. Nikome nije zabranjeno ugraditi ai. Ovo je radio od vw koji podrzava carplay a ima odmah u sebi bluetooth. Energyman da rcd330b.
  • energyman: Samo jako
  • Daddo: nego veliš, treba ubiti?
  • energyman: Been der dan det
  • energyman: Ništa :)
  • Yonkis: A što bi dobio da ih lijepo, civilizirano i pristojno zamoliš?
  • energyman: Ubiti ne bi dobio takvu ponudu da ne nazovem svaki put customer retention centar i ehbem mamu, pa mi velikodušno ponude popuste
  • Yonkis: Ha, za firmu..
  • energyman: Stigla ponuda iz Vipa za firmu. Tarifa L (180kn/mj - 40gb, 5k minuta i poruka) -> iPhone Xs 64Gb - cijena uređaja: 4299kn (ili 180kn/mj) -> iPhone Xs max 64Gb - cijena uređaja: 4799kn (ili 200kn/mj)
  • energyman: @stefanjos jel RCD330 plus ili neki drugi ?
  • Yonkis: Stefanjos, stvarno? Polo iz 2013 to ima? Wow, nisam znao.. Fantastično.. jel to puna oprema? Btw, jel netko zna kako se tumače one Screen On/Off u Battery? I jel netko složio sebi nekakav Shortcuts :)
  • stefanjos: Yonkis. Polo 2013. Ali sam ugradio novi radio koji podrzava car ply. I meni su prozori na palentu (od iza) :D
  • Yonkis: Društvo, jel mi može netko objasniti u Settings/Battery ono Screen on/off, ne razumijem te brojke?
  • energyman: Evo i cijene iPhonea u HR. iPhone Xs 64Gb 10135kn, Xs max 11083kn
  • Josip R.: Ok pronašao sam na dnu je sad u slikama. [link]
  • Josip R.: Sad se vidi u settings ali ne mogu pristuoit folderu kao prije da označim što da obriše za uvijek.
  • Josip R.: Pozz ekipa, pitanjce, u slikama više ne vidim "recently delited"?
  • Yonkis: @Stella, probaj preko iTunesa. Jesi to probala?
  • Yonkis: Koje vi to aute vozite da imate CarPlay? Moj nema ni elektronsko podizanje bočnih stakala :)
  • stefanjos: ne jos, dolazi update. sad cu i ja do auta isprobat google maps u autu :D
  • energyman: @borisone jel radi i Waze? Ako je tako kupujem odmah novi auto radio i selim na dvanajsticu.
  • Stella: Jesam. I dalje isto :/
  • Borisone: Napokon Google Maps na Apple CarPlay-u!
  • zkap: Postavke - Općenito - iPhone memorija i obriši iOS12 pa se vrati na update i skini ga ponovno.
  • Stella: S iPhonea. Kad idem na verifying update onda to izbaci, nebi mi dao da je memorija puna
  • Yonkis: Stella, radiš li update OTA (na samom iPhoneu) ili preko iTunesa? Jer i frendici na 6ici javlja neki error ali mi nije dala detalje, pa pitam.
  • CortoMaltese: Stella... provjeri storage, ako je full onda moras maknuti nešto
  • CortoMaltese: iphone 6plus...
  • CortoMaltese: kako stari stoje trenutno baterija se bolje drži, iphone 6 , baterija je na 80% maxCap
  • Stella: Meni javlja error kad ocu updateati :/
  • mario.zg: i ima li kakve razlike u trajanju baterije na ios12?
  • Daddo: hoćeš od UX, stabilnosti, autonomije ili kvalitete kamere, u svemu je znatno lošija od 5 godina starog "telefona"
  • Daddo: službena Nokia sa novim Oreom košta MPC jednako kao i SE i po specifikacijama bi morala pojesti isti, a drek je da ne može bit veći. :(
  • rusty: slažem se, samo kažem... i dalje.. to više nije telefon kako god da okreneš a pogotovo po cijeni
  • Daddo: rusty, većina su idioti i poluidioti. No to nije čudo preveliko. Yonkis, "dumb" phone sa monokromatskim ekranom je bila nokia 6210 i 6310. Uređaj sa 6" ekranom NIJE telefon.
  • Yonkis: Daddo, uvijek možeš kupiti onaj dumb phone, sa gumbićima i malim monokromatskim ekranom (makar je i to već teško naći) pa ti telefoniraj :) a doma se spoji na internet pa surfaj itd.. you catch my drift?
  • rusty: slažem se, ali 2007. telefon kao telefon je prestao postojati, tako da osim što u svom imenu ima riječ phone... to je vjerojatno za većinu danas sve osim telefona
  • Daddo: meni žao što su ubili dimenzije SE-a, jer primarna namjena telefona je - telefoniranje. :D
  • rusty: kome treba novi iphone kada ti i stari radi kao nov!. Živio iOS12 :D
  • Yonkis: @Stella, maheri nego što. Pa zato je Apple vrijedan bilijun $

Za vikanje moraš biti prijavljen.

Prijava

Prisutni jabučari

Novo na Jabučnjaku

Teme

Poruke

Anketa

Kupujete li profesionalni Mac?

Čekam novi modularni Mac Pro - 48.5%
Novac nije problem, kupujem iMac Pro - 0.7%
Kupujem Valjak, baš je lijep i tih! - 0%
Kupujem polovni Mac Pro tower - 11.8%
Nadogradit ću postojeći Mac Pro tower - 2.9%
Običan iMac 27" mi je dovoljan za posao - 5.9%
Skromnih sam potreba, Mac mini je zakon! - 7.4%
Radim na terenu, mora biti MacBook Pro - 3.7%
Ne diram ništa, stari Mac služi me odlično - 10.3%
Kupujem PC kantu i prelazim na Windowse! - 8.8%

Ukupno glasova: 136
Anketa je završena dana: 08 Svi 2018 - 12:17
Page Speed 0.62 Seconds

Provided by iJoomla SEO