{"id":52238,"date":"2019-11-04T00:00:00","date_gmt":"2019-11-03T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/vm-ili-docker"},"modified":"2020-02-18T13:59:55","modified_gmt":"2020-02-18T10:59:55","slug":"vm-ili-docker","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/vm-ili-docker","title":{"rendered":"VM nebo Docker?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Jak zjistit, \u017ee pot\u0159ebujete Docker a ne VM? Je t\u0159eba ur\u010dit, co p\u0159esn\u011b chcete izolovat. Pokud je pot\u0159eba izolovat syst\u00e9m s garantovan\u011b vy\u010dlen\u011bn\u00fdmi zdroji a virtu\u00e1ln\u00edm hardwarov\u00fdm vybaven\u00edm, pak by volba m\u011bla padnout na VM. Pokud pot\u0159ebujete izolovat b\u011b\u017e\u00edc\u00ed aplikace jako samostatn\u00e9 procesy syst\u00e9mu, budete pot\u0159ebovat Docker.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3 id=\"tak-v-chyom-zhe-otlichie-docker-konteynerov-ot-vm\">Jak\u00fd je tedy rozd\u00edl mezi kontejnery Docker a VM?<\/h3>\n<p><\/p>\n<p><strong>Virtu\u00e1ln\u00ed stroj (VM)<\/strong> je virtu\u00e1ln\u00ed po\u010d\u00edta\u010d se v\u0161emi virtu\u00e1ln\u00edmi za\u0159\u00edzen\u00edmi a virtu\u00e1ln\u00edm pevn\u00fdm diskem, na kter\u00fd se instaluje nov\u00e1 nez\u00e1visl\u00e1 OS spolu s virtu\u00e1ln\u00edmi ovlada\u010di za\u0159\u00edzen\u00ed, spr\u00e1vou pam\u011bti a dal\u0161\u00edmi komponenty. Tedy z\u00edsk\u00e1v\u00e1me abstrakci fyzick\u00e9ho hardwaru, kter\u00e1 umo\u017e\u0148uje spou\u0161t\u011bt na jednom po\u010d\u00edta\u010di mno\u017estv\u00ed virtu\u00e1ln\u00edch po\u010d\u00edta\u010d\u016f.<br \/>\n<strong>Nainstalovan\u00e1 VM m\u016f\u017ee r\u016fzn\u011b zab\u00edrat m\u00edsto na disku po\u010d\u00edta\u010de:<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>fixn\u00ed m\u00edsto na pevn\u00e9m disku, co\u017e umo\u017e\u0148uje rychlej\u0161\u00ed p\u0159\u00edstup k virtu\u00e1ln\u00edmu pevn\u00e9mu disku a vyh\u00fdb\u00e1 se fragmentaci souboru;<\/li>\n<li>dynamick\u00e9 p\u0159id\u011blov\u00e1n\u00ed pam\u011bti. P\u0159i instalaci dal\u0161\u00edch aplikac\u00ed bude pam\u011b\u0165 dynamicky p\u0159id\u011blov\u00e1na pro n\u011b, dokud nedos\u00e1hne maxim\u00e1ln\u00edho objemu, kter\u00fd j\u00ed byl vy\u010dlen\u011bn.<\/li>\n<\/ul>\n<p><\/p>\n<p>\u010c\u00edm v\u011bt\u0161\u00ed <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/cs\/vps\/\"   title=\"virtu\u00e1ln\u00edch stroj\u016f\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2012\">virtu\u00e1ln\u00edch stroj\u016f<\/a> na serveru, t\u00edm v\u00edce m\u00edsta zab\u00edraj\u00ed a tak\u00e9 vy\u017eaduj\u00ed neust\u00e1lou podporu prost\u0159ed\u00ed pot\u0159ebn\u00e9ho pro chod va\u0161\u00ed aplikace.<\/p>\n<p><\/p>\n<p><strong>Docker<\/strong> je software pro vytv\u00e1\u0159en\u00ed aplikac\u00ed na b\u00e1zi kontejner\u016f. Kontejnery a <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/cs\/vps\/abuzoustojchivye-vps\/\"   title=\"virtu\u00e1ln\u00ed stroje\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4214\">virtu\u00e1ln\u00ed stroje<\/a> maj\u00ed podobn\u00e9 v\u00fdhody, ale pracuj\u00ed r\u016fzn\u011b. Kontejnery zab\u00edraj\u00ed m\u00e9n\u011b m\u00edsta, proto\u017ee znovu vyu\u017e\u00edvaj\u00ed v\u011bt\u0161\u00ed mno\u017estv\u00ed sd\u00edlen\u00fdch zdroj\u016f hostitelsk\u00e9ho syst\u00e9mu ne\u017e VM, nebo\u0165 na rozd\u00edl od VM zaji\u0161\u0165uj\u00ed virtualizaci na \u00farovni OS, nikoli hardwaru. Tento p\u0159\u00edstup zaji\u0161\u0165uje men\u0161\u00ed objem zabran\u00e9 pam\u011bti, rychl\u00e9 nasazen\u00ed a snadn\u011bj\u0161\u00ed \u0161k\u00e1lov\u00e1n\u00ed.<\/p>\n<p><\/p>\n<p>Kontejner poskytuje efektivn\u011bj\u0161\u00ed mechanismus pro zapouzd\u0159en\u00ed aplikac\u00ed, zaji\u0161\u0165uj\u00edc\u00ed nezbytn\u00e9 rozhran\u00ed hostitelsk\u00e9ho syst\u00e9mu. Tato funkce umo\u017e\u0148uje kontejner\u016fm sd\u00edlet j\u00e1dro syst\u00e9mu, p\u0159i\u010dem\u017e ka\u017ed\u00fd kontejner funguje jako samostatn\u00fd proces hlavn\u00edho OS, m\u00e1 sv\u016fj vlastn\u00ed soubor pam\u011b\u0165ov\u00fdch oblast\u00ed (vlastn\u00ed virtu\u00e1ln\u00ed adresn\u00ed prostor). Proto\u017ee je virtu\u00e1ln\u00ed adresn\u00ed prostor ka\u017ed\u00e9ho kontejneru vlastn\u00ed, data n\u00e1le\u017eej\u00edc\u00ed r\u016fzn\u00fdm pam\u011b\u0165ov\u00fdm oblastem nemohou b\u00fdt m\u011bn\u011bna.<br \/>\nNativn\u00edm OS pro Docker je Linux (Docker lze tak\u00e9 pou\u017e\u00edvat na Windows a MacOS), vyu\u017e\u00edv\u00e1 jeho hlavn\u00ed v\u00fdhody, kter\u00e9 umo\u017e\u0148uj\u00ed uspo\u0159\u00e1d\u00e1n\u00ed sd\u00edlen\u00ed j\u00e1dra. Spu\u0161t\u011bn\u00ed Docker kontejner\u016f na Windows prob\u00edh\u00e1 uvnit\u0159 virtu\u00e1ln\u00edho stroje s OS Linux, proto\u017ee kontejnery sd\u00edlej\u00ed OS hostitelsk\u00e9ho syst\u00e9mu a pro n\u011b je hlavn\u00edm OS Linux.<\/p>\n<p><\/p>\n<h3 id=\"konteyner---kak-eto-rabotaet\">Jak kontejnery funguj\u00ed?<\/h3>\n<p><\/p>\n<p><strong>Kontejner<\/strong> - to je abstrakce na \u00farovni aplikace, kter\u00e1 spojuje k\u00f3d a z\u00e1vislosti. Kontajnery jsou v\u017edy vytv\u00e1\u0159eny z obraz\u016f, p\u0159id\u00e1n\u00edm zapisovateln\u00e9ho vrchn\u00edho layeru a inicializac\u00ed r\u016fzn\u00fdch parametr\u016f. Proto\u017ee m\u00e1 kontejner sv\u016fj vlastn\u00ed zapisovateln\u00fd vrstvu a v\u0161echny zm\u011bny jsou ukl\u00e1d\u00e1ny do t\u00e9to vrstvy, n\u011bkolik kontejner\u016f m\u016f\u017ee spole\u010dn\u011b sd\u00edlet p\u0159\u00edstup k jednomu a tomu sam\u00e9mu z\u00e1kladn\u00edmu obrazu.<\/p>\n<p><\/p>\n<p>Ka\u017ed\u00fd kontejner lze nakonfigurovat pomoc\u00ed souboru v projektu docker-compose, kter\u00fd je sou\u010d\u00e1st\u00ed hlavn\u00edho \u0159e\u0161en\u00ed \u2014 docker-compose.yml. Zde lze zadat r\u016fzn\u00e9 parametry, jako je n\u00e1zev kontejneru, porty, identifik\u00e1tory, limity zdroj\u016f a z\u00e1vislosti mezi jin\u00fdmi kontejnery. Pokud nen\u00ed v nastaven\u00ed zad\u00e1n n\u00e1zev kontejneru, Docker v\u017edy vytvo\u0159\u00ed nov\u00fd kontejner a p\u0159i\u0159ad\u00ed mu n\u00e1hodn\u00e9 jm\u00e9no.<\/p>\n<p><\/p>\n<p>Kdy\u017e se kontejner spust\u00ed z obrazu, Docker p\u0159imountuje souborov\u00fd syst\u00e9m pro \u010dten\u00ed a z\u00e1pis p\u0159es jak\u00e9koli ni\u017e\u0161\u00ed vrstvy. Pr\u00e1v\u011b zde budou prov\u00e1d\u011bny v\u0161echny procesy, kter\u00e9 chceme, aby n\u00e1\u0161 Docker kontejner vykon\u00e1val. <\/p>\n<p><\/p>\n<p>Kdy\u017e Docker poprv\u00e9 spust\u00ed kontejner, po\u010d\u00e1te\u010dn\u00ed vrstva pro \u010dten\u00ed a z\u00e1pis je pr\u00e1zdn\u00e1. Kdy\u017e dojde ke zm\u011bn\u00e1m, jsou aplikov\u00e1ny na tuto vrstvu; nap\u0159\u00edklad, pokud chcete zm\u011bnit soubor, tento soubor bude zkop\u00edrov\u00e1n z vrstvy pouze pro \u010dten\u00ed n\u00ed\u017ee do vrstvy pro \u010dten\u00ed a z\u00e1pis.<br \/>\nVerze souboru dostupn\u00e1 pouze pro \u010dten\u00ed st\u00e1le bude existovat, ale nyn\u00ed je skryta pod kopi\u00ed. K ukl\u00e1d\u00e1n\u00ed dat, nez\u00e1visle na \u017eivotn\u00edm cyklu kontejneru, se pou\u017e\u00edvaj\u00ed svazky. Svazky se inicializuj\u00ed p\u0159i vytv\u00e1\u0159en\u00ed kontejneru.<\/p>\n<p><\/p>\n<h3 id=\"kak-obraz-svyazan-s-konteynerom\">Jak je obraz spojen s kontejnerem?<\/h3>\n<p><\/p>\n<p><strong>Obraz<\/strong> \u2014 z\u00e1kladn\u00ed prvek pro ka\u017ed\u00fd kontejner. Obraz se vytv\u00e1\u0159\u00ed z Dockerfile p\u0159idan\u00e9ho do projektu a p\u0159edstavuje soubor souborov\u00fdch syst\u00e9m\u016f (vrstev) navrstven\u00fdch na sebe a skupinovan\u00fdch dohromady, p\u0159\u00edstupn\u00fdch pouze pro \u010dten\u00ed; maxim\u00e1ln\u00ed po\u010det vrstev je 127.<\/p>\n<p><\/p>\n<p>Na ka\u017ed\u00e9m obrazu je z\u00e1kladn\u00ed obraz, kter\u00fd je uveden p\u0159\u00edkazem FROM \u2014 vstupn\u00ed bod p\u0159i vytv\u00e1\u0159en\u00ed obrazu Dockerfile. Ka\u017ed\u00e1 vrstva je readonly vrstvou a je reprezentov\u00e1na jedn\u00edm p\u0159\u00edkazem, kter\u00fd modifikuje souborov\u00fd syst\u00e9m zapsan\u00fd v Dockerfile.<br \/>\nPro kombinaci t\u011bchto vrstev do jednoho obrazu Docker pou\u017e\u00edv\u00e1 pokro\u010dil\u00fd v\u00edcivrstv\u00fd z\u00e1pisov\u00fd syst\u00e9m soubor\u016f (AuFS zalo\u017een\u00fd na UnionFS), kter\u00fd umo\u017e\u0148uje r\u016fzn\u00fdm soubor\u016fm a adres\u00e1\u0159\u016fm z r\u016fzn\u00fdch souborov\u00fdch vrstev pr\u016fhledn\u011b se p\u0159ekr\u00fdvat, \u010d\u00edm\u017e vytv\u00e1\u0159\u00ed propojen\u00fd souborov\u00fd syst\u00e9m.<\/p>\n<p><\/p>\n<p>Vrstvy obsahuj\u00ed metadata, kter\u00e1 umo\u017e\u0148uj\u00ed uchov\u00e1vat souvisej\u00edc\u00ed informace o ka\u017ed\u00e9 vrstv\u011b b\u011bhem prov\u00e1d\u011bn\u00ed a sestaven\u00ed. Ka\u017ed\u00e1 vrstva obsahuje odkaz na n\u00e1sleduj\u00edc\u00ed vrstvu, pokud vrstva nem\u00e1 odkaz, znamen\u00e1 to, \u017ee je to nejvy\u0161\u0161\u00ed vrstva v obrazu.<\/p>\n<p><\/p>\n<p><strong>Dockerfile m\u016f\u017ee obsahovat takov\u00e9 p\u0159\u00edkazy jako:<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>FROM \u2014 vstupn\u00ed bod p\u0159i vytv\u00e1\u0159en\u00ed obrazu;<\/li>\n<li>MAINTAINER \u2014 jm\u00e9no vlastn\u00edka obrazu;<\/li>\n<li>RUN \u2014 proveden\u00ed p\u0159\u00edkazu b\u011bhem sestaven\u00ed obrazu;<\/li>\n<li>ADD \u2014 zkop\u00edrov\u00e1n\u00ed souboru z hostitele do nov\u00e9ho obrazu, pokud je zad\u00e1n URL souboru, Docker ho st\u00e1hne do zadan\u00e9ho adres\u00e1\u0159e;<\/li>\n<li>ENV \u2014 prom\u011bnn\u00e9 prost\u0159ed\u00ed;<\/li>\n<li>CMD \u2014 spou\u0161t\u00ed vytvo\u0159en\u00ed nov\u00e9ho kontejneru na z\u00e1klad\u011b obrazu;<\/li>\n<li>ENTRYPOINT \u2014 p\u0159\u00edkaz se provede p\u0159i spu\u0161t\u011bn\u00ed kontejneru.<\/li>\n<li>WORKDIR \u2014 pracovn\u00ed adres\u00e1\u0159 pro prov\u00e1d\u011bn\u00ed p\u0159\u00edkazu CMD.<\/li>\n<li>USER \u2014 nastavuje UID pro kontejner vytv\u00e1\u0159en\u00fd na z\u00e1klad\u011b obrazu.<\/li>\n<li>VOLUME \u2014 p\u0159ipojuje adres\u00e1\u0159 hostitele do kontejneru.<\/li>\n<li>EXPOSE \u2014 seznam port\u016f naslouchaj\u00edc\u00edch v kontejneru.<\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"kak-rabotaet-unionfs\">Jak funguje UnionFS?<\/h3>\n<p><\/p>\n<p><strong>UnionFS<\/strong> \u2014 slu\u017eebn\u00ed stohovac\u00ed souborov\u00fd syst\u00e9m (FS) pro Linux a FreeBSD. Tento FS realizuje mechanismus kop\u00edrov\u00e1n\u00ed p\u0159i z\u00e1pisu (Copy-On-Write, COW). Pracovn\u00ed jednotkou UnionFS je vrstva, ka\u017edou vrstvu je t\u0159eba pova\u017eovat za samostatn\u00fd plnohodnotn\u00fd souborov\u00fd syst\u00e9m s hierarchi\u00ed adres\u00e1\u0159\u016f od samotn\u00e9ho ko\u0159ene. UnionFS vytv\u00e1\u0159\u00ed slou\u010den\u00e9 p\u0159ipojen\u00ed pro jin\u00e9 souborov\u00e9 syst\u00e9my a umo\u017e\u0148uje transparentn\u011b pro u\u017eivatele kombinovat soubory a adres\u00e1\u0159e r\u016fzn\u00fdch souborov\u00fdch syst\u00e9m\u016f (naz\u00fdvan\u00fdch v\u011btvemi) do jedin\u00e9 propojen\u00e9 souborov\u00e9 soustavy.<\/p>\n<p><\/p>\n<p>Obsah adres\u00e1\u0159\u016f se stejn\u00fdmi cestami se bude zobrazovat spole\u010dn\u011b v jednom slou\u010den\u00e9m adres\u00e1\u0159i (v jedin\u00e9m jmenn\u00e9m prostoru) v\u00fdsledn\u00e9ho souborov\u00e9ho syst\u00e9mu. <\/p>\n<p><\/p>\n<p><strong>UnionFS spojuje vrstvy podle n\u00e1sleduj\u00edc\u00edch princip\u016f:<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>jedna z vrstev se st\u00e1v\u00e1 vrstvou nejvy\u0161\u0161\u00ed \u00farovn\u011b, druh\u00e1 a dal\u0161\u00ed \u2013 vrstvami ni\u017e\u0161\u00ed \u00farovn\u011b;<\/li>\n<li>u\u017eivateli jsou objekty vrstev dostupn\u00e9 \u201eshora dol\u016f\u201c, t.j. pokud je po\u017eadovan\u00fd objekt v \u201ehorn\u00ed\u201c vrstv\u011b, vr\u00e1t\u00ed se on, bez ohledu na p\u0159\u00edtomnost objektu se stejn\u00fdm jm\u00e9nem v \u201edoln\u00ed\u201c vrstv\u011b; jinak se vr\u00e1t\u00ed objekt \u201edoln\u00ed\u201c vrstvy; pokud po\u017eadovan\u00fd objekt nen\u00ed ani tam, ani tam, vr\u00e1t\u00ed se chyba \u201e\u017d\u00e1dn\u00fd takov\u00fd soubor nebo adres\u00e1\u0159\u201c;<\/li>\n<li>pracovn\u00ed vrstvou je \u201ehorn\u00ed\u201c, to znamen\u00e1, \u017ee v\u0161echny akce u\u017eivatele na zm\u011bnu dat se odr\u00e1\u017eej\u00ed pouze na vrstv\u011b nejvy\u0161\u0161\u00ed \u00farovn\u011b, ani\u017e by ovlivnily obsah vrstev ni\u017e\u0161\u00edch \u00farovn\u00ed.<\/li>\n<\/ul>\n<p><\/p>\n<p>Docker je nejb\u011b\u017en\u011bj\u0161\u00ed technologi\u00ed pro pou\u017e\u00edv\u00e1n\u00ed kontejner\u016f p\u0159i pr\u00e1ci s aplikacemi. Stal se standardem v t\u00e9to oblasti a vych\u00e1z\u00ed z cgroups a prostor\u016f jmen, kter\u00e9 zaji\u0161\u0165uje j\u00e1dro Linuxu.<\/p>\n<p><\/p>\n<p>Docker n\u00e1m umo\u017e\u0148uje rychle nasazovat aplikace a maxim\u00e1ln\u011b optim\u00e1ln\u011b vyu\u017e\u00edvat souborov\u00fd syst\u00e9m d\u00edky sd\u00edlen\u00ed j\u00e1dra OS mezi v\u0161emi kontejnery, p\u0159i\u010dem\u017e funguje jako samostatn\u00e9 procesy OS.<\/p>\n<p>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/474068\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u0430\u043a \u043f\u043e\u043d\u044f\u0442\u044c, \u0447\u0442\u043e \u0432\u0430\u043c \u043d\u0443\u0436\u0435\u043d Docker, \u0430 \u043d\u0435 VM? \u041d\u0443\u0436\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u0447\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c. \u0415\u0441\u043b\u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0441 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c\u0438 \u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u043c \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u043c \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435, \u0442\u043e\u0433\u0434\u0430 \u0432\u044b\u0431\u043e\u0440 \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u0430\u0441\u0442\u044c \u043d\u0430 VM. \u041f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043a\u0430\u043a \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0432\u0430\u043c \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f Docker. \u0422\u0430\u043a \u0432 \u0447\u0451\u043c \u0436\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 Docker-\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u043e\u0442 VM? \u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-52238","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u0430\u043a \u043f\u043e\u043d\u044f\u0442\u044c, \u0447\u0442\u043e \u0432\u0430\u043c \u043d\u0443\u0436\u0435\u043d Docker, \u0430 \u043d\u0435 VM? \u041d\u0443\u0436\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u0447\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/vm-ili-docker\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47VM \u0438\u043b\u0438 Docker? | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u0430\u043a \u043f\u043e\u043d\u044f\u0442\u044c, \u0447\u0442\u043e \u0432\u0430\u043c \u043d\u0443\u0436\u0435\u043d Docker, \u0430 \u043d\u0435 VM? \u041d\u0443\u0436\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u0447\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/vm-ili-docker\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-11-03T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T10:59:55+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47VM nebo Docker? | ProHoster","description":"Jak zjistit, \u017ee pot\u0159ebujete Docker, a ne VM? Mus\u00edte ur\u010dit, co p\u0159esn\u011b chcete izolovat.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/vm-ili-docker","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47VM \u0438\u043b\u0438 Docker? | ProHoster","og:description":"\u041a\u0430\u043a \u043f\u043e\u043d\u044f\u0442\u044c, \u0447\u0442\u043e \u0432\u0430\u043c \u043d\u0443\u0436\u0435\u043d Docker, \u0430 \u043d\u0435 VM? \u041d\u0443\u0436\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u0447\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c.","og:url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/vm-ili-docker","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-11-03T21:00:00+00:00","article:modified_time":"2020-02-18T10:59:55+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"52238","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-02-09 18:02:23","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:47:21","updated":"2026-02-09 18:02:23","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/52238","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=52238"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/52238\/revisions"}],"predecessor-version":[{"id":164089,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/52238\/revisions\/164089"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=52238"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=52238"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=52238"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}