{"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\/lv\/blog\/administrirovanie\/vm-ili-docker","title":{"rendered":"VM vai Docker?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>K\u0101 saprast, ka jums nepiecie\u0161ams Docker, nevis VM? J\u0101nosaka, ko tie\u0161i v\u0113laties izol\u0113t. Ja ir nepiecie\u0161ams izol\u0113t sist\u0113mu ar garant\u0113tiem piesaist\u012btiem resursiem un virtu\u0101lo aparat\u016bru, tad izv\u0113lei j\u0101b\u016bt par labu VM. Ja ir nepiecie\u0161ams izol\u0113t str\u0101d\u0101jo\u0161\u0101s lietotnes k\u0101 atsevi\u0161\u0137us sist\u0113mas procesus, jums b\u016bs nepiecie\u0161ams 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\">Un k\u0101da ir at\u0161\u0137ir\u012bba starp Docker konteineriem un VM?<\/h3>\n<p><\/p>\n<p><strong>Virtu\u0101l\u0101 ma\u0161\u012bna (VM)<\/strong> \u2014 t\u0101 ir virtu\u0101la dators ar vis\u0101m virtu\u0101laj\u0101m ier\u012bc\u0113m un virtu\u0101lo cieto disku, uz kura tiek uzst\u0101d\u012bta jauna neatkar\u012bga OS kop\u0101 ar virtu\u0101lajiem ier\u012b\u010du draiveriem, atmi\u0146as p\u0101rvald\u012bbu un cit\u0101m komponent\u0113m. T. i., m\u0113s ieg\u016bstam fizisk\u0101 apr\u012bkojuma abstrakciju, kas \u013cauj uz viena datora palaist vair\u0101kus virtu\u0101lus datorus.<br \/>\n<strong>Uzst\u0101d\u012bt\u0101 VM var da\u017e\u0101di aiz\u0146emt vietu datora disk\u0101:<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>fiks\u0113ta vieta cietaj\u0101 disk\u0101, kas \u013cauj veikt \u0101tr\u0101ku piek\u013cuvi virtu\u0101lajam cietajam diskam un izvair\u012bties no failu fragment\u0101cijas;<\/li>\n<li>dinamisk\u0101 atmi\u0146as pie\u0161\u0137ir\u0161ana. Uzst\u0101dot papildu lietojumprogrammas, atmi\u0146a tiks dinamisk\u0101 veid\u0101 pie\u0161\u0137irta t\u0101m, l\u012bdz t\u0101 sasniegs maksim\u0101lo apjomu, kas tai paredz\u0113ts.<\/li>\n<\/ul>\n<p><\/p>\n<p>Jo vair\u0101k <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/lv\/vps\/\"   title=\"virtu\u0101lo ma\u0161\u012bnu\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2012\">virtu\u0101lo ma\u0161\u012bnu<\/a> uz servera, jo vair\u0101k vietas t\u0101s aiz\u0146em un prasa past\u0101v\u012bgu apkopes vidi, kur\u0101 nepiecie\u0161ams darboties j\u016bsu lietotnei.<\/p>\n<p><\/p>\n<p><strong>Docker<\/strong> \u2014 t\u0101 ir programmat\u016bra aplik\u0101ciju izveidei, pamatojoties uz konteineriem. Konteineri un <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/lv\/vps\/abuzoustojchivye-vps\/\"   title=\"virtu\u0101l\u0101s ma\u0161\u012bnas\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4214\">virtu\u0101l\u0101s ma\u0161\u012bnas<\/a> ir l\u012bdz\u012bgi ieguvumi, bet darbojas at\u0161\u0137ir\u012bgi. Konteineri aiz\u0146em maz\u0101k vietas, jo atk\u0101rtoti izmanto vair\u0101kus kop\u012bgus resursus saimniekrakst\u0101j\u0101 nek\u0101 VM, jo, at\u0161\u0137ir\u012bb\u0101 no VM, t\u0101 nodro\u0161ina virtu\u0101liz\u0101ciju oper\u0113t\u0101jsist\u0113mas l\u012bmen\u012b, nevis aparat\u016bras. \u0160\u0101da pieeja nodro\u0161ina maz\u0101ku aiz\u0146emto atmi\u0146as apjomu, \u0101tru izvieto\u0161anu un viegl\u0101ku m\u0113rogojam\u012bbu.<\/p>\n<p><\/p>\n<p>Konteiners nodro\u0161ina efekt\u012bv\u0101ku lietojumprogrammu iepakojuma meh\u0101nismu, nodro\u0161inot nepiecie\u0161amos saskarnes viesdatoram. \u0160\u012b funkcionalit\u0101te \u013cauj konteineriem dal\u012bties oper\u0113t\u0101jsist\u0113mas kod\u0101, kur katrs no konteineriem darbojas k\u0101 atsevi\u0161\u0137s galven\u0101s OS process, kam ir sava atmi\u0146as jomu komplekts (sava virtu\u0101l\u0101 adreses telpa). T\u0101 k\u0101 katra konteinera virtu\u0101l\u0101 adreses telpa ir unik\u0101la, dati, kas pieder da\u017e\u0101d\u0101m atmi\u0146as jom\u0101m, nevar tikt main\u012bti.<br \/>\nDocker pamatoper\u0113t\u0101jsist\u0113ma ir Linux (Docker var izmantot ar\u012b Windows un MacOS), un tas izmanto t\u0101s galven\u0101s priek\u0161roc\u012bbas, kas \u013cauj organiz\u0113t kodola dal\u012b\u0161anu. Palaist Docker konteinerus Windows notiks virtu\u0101l\u0101 ma\u0161\u012bn\u0101 ar Linux OS, jo konteineri dal\u0101s ar viesdatora oper\u0113t\u0101jsist\u0113mu, un galven\u0101 oper\u0113t\u0101jsist\u0113ma tiem ir Linux.<\/p>\n<p><\/p>\n<h3 id=\"konteyner---kak-eto-rabotaet\">Konteiners \u2014 k\u0101 tas darbojas?<\/h3>\n<p><\/p>\n<p><strong>Konteiners<\/strong> \u2014 ir abstrakcija lietojumprogrammas l\u012bmen\u012b, kas apvieno kodu un atkar\u012bbas. Konteneri vienm\u0113r tiek izveidoti no att\u0113liem, pievienojot rakst\u0101mo aug\u0161\u0113jo sl\u0101ni un inicializ\u0113jot da\u017e\u0101dus parametrus. T\u0101 k\u0101 konteiners ir ar savu rakst\u0101mo sl\u0101ni un visas izmai\u0146as tiek saglab\u0101tas \u0161aj\u0101 sl\u0101n\u012b, vair\u0101ki konteineri var kop\u012bgi izmantot piek\u013cuvi vienam un tam pa\u0161am pamata att\u0113lam.<\/p>\n<p><\/p>\n<p>Katru konteineru var konfigur\u0113t, izmantojot failu projekt\u0101 docker-compose, kas iek\u013cauts galvenaj\u0101 risin\u0101jum\u0101 \u2014 docker-compose.yml. Tur var nor\u0101d\u012bt da\u017e\u0101dus parametrus, piem\u0113ram, konteineru nosaukumus, portus, identifikatorus, resursu ierobe\u017eojumus, atkar\u012bbas no citiem konteineriem. Ja konfigur\u0101cij\u0101 netiek nor\u0101d\u012bts konteineru nosaukums, Docker katru reizi izveidos jaunu konteineru, pie\u0161\u0137irot tam nejau\u0161u nosaukumu.<\/p>\n<p><\/p>\n<p>Kad konteiners tiek palaists no att\u0113la, Docker pievieno failu sist\u0113mu las\u012b\u0161anai un rakst\u012b\u0161anai virs visiem zem\u0101kajiem sl\u0101\u0146iem. Tie\u0161i \u0161eit tiks izpild\u012bti visi procesi, kurus m\u0113s v\u0113lamies, lai m\u016bsu Docker konteiners veiktu. <\/p>\n<p><\/p>\n<p>Kad Docker pirmo reizi palaida konteiners, s\u0101kotn\u0113jais las\u012b\u0161anas-rakst\u012b\u0161anas sl\u0101nis ir tuk\u0161s. Kad notiek izmai\u0146as, t\u0101s tiek piem\u0113rotas \u0161im sl\u0101nim; piem\u0113ram, ja v\u0113laties main\u012bt failu, \u0161is fails tiks kop\u0113ts no zem\u0101k\u0101 tikai las\u012b\u0161anas sl\u0101\u0146a uz las\u012b\u0161anas un rakst\u012b\u0161anas sl\u0101ni.<br \/>\nLas\u012bt tikai versija joproj\u0101m b\u016bs pieejama, ta\u010du tagad t\u0101 ir sl\u0113pta zem kopijas. Datu glab\u0101\u0161anai, neatkar\u012bgi no konteineru dz\u012bves cikla, tiek izmantoti tilti. Tilti tiek inicializ\u0113ti, izveidojot konteiners.<\/p>\n<p><\/p>\n<h3 id=\"kak-obraz-svyazan-s-konteynerom\">K\u0101 att\u0113ls ir saist\u012bts ar konteineru?<\/h3>\n<p><\/p>\n<p><strong>Att\u0113ls<\/strong> \u2014 galvenais elements katram konteineram. Att\u0113ls tiek veidots no Dockerfile, kas pievienots projektam un att\u0113lo sl\u0101\u0146u sist\u0113mu, kas uzlikta viena virs otras un apvienota kop\u0101, pieejama tikai las\u012b\u0161anai; maksim\u0101lais sl\u0101\u0146u skaits ir 127.<\/p>\n<p><\/p>\n<p>Katram att\u0113lam pamat\u0101 ir b\u0101zes att\u0113ls, kas nor\u0101d\u012bts ar komandu FROM \u2014 izejas punkts, veidojot Dockerfile att\u0113lu. Katrs sl\u0101nis ir tikai las\u0101m\u0101 sl\u0101\u0146a un ir att\u0113lots ar vienu komandu, kas modific\u0113 failu sist\u0113mu, kurai ir uzrakst\u012bts Dockerfile.<br \/>\nLai apvienotu \u0161os sl\u0101\u0146us vien\u0101 att\u0113l\u0101, Docker izmanto Advanced multi layered Union failu sist\u0113mu (AuFS balst\u0101s uz UnionFS), \u013caujot da\u017e\u0101diem failiem un direktorij\u0101m no da\u017e\u0101diem failu sl\u0101\u0146iem caursp\u012bd\u012bgi sakrist, radot saist\u012btu failu sist\u0113mu.<\/p>\n<p><\/p>\n<p>Sl\u0101\u0146i satur metadatus, kas \u013cauj saglab\u0101t saist\u012bto inform\u0101ciju par katru sl\u0101ni izpildes un izveides laik\u0101. Katrs sl\u0101nis satur atsauci uz n\u0101kamo sl\u0101ni, ja sl\u0101nim nav atsauces, tad tas ir aug\u0161\u0113jais sl\u0101nis att\u0113l\u0101.<\/p>\n<p><\/p>\n<p><strong>Dockerfile var satur\u0113t \u0161\u0101das komandas:<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>FROM \u2014 izejas punkts att\u0113la veido\u0161anai;<\/li>\n<li>MAINTAINER \u2014 att\u0113la \u012bpa\u0161nieka v\u0101rds;<\/li>\n<li>RUN \u2014 komandas izpilde att\u0113la izveides laik\u0101;<\/li>\n<li>ADD \u2014 faila kop\u0113\u0161ana no m\u0101jas uz jauno att\u0113lu, ja tiek nor\u0101d\u012bts URL fails, Docker to lejupiel\u0101d\u0113s nor\u0101d\u012btaj\u0101 direktorij\u0101;<\/li>\n<li>ENV \u2014 vides main\u012bgie;<\/li>\n<li>CMD \u2014 s\u0101k jauna konteinera izveidi, pamatojoties uz att\u0113lu;<\/li>\n<li>ENTRYPOINT \u2014 komanda tiek izpild\u012bta, uzs\u0101kot konteiners.<\/li>\n<li>WORKDIR \u2014 darba kataloga uzst\u0101d\u012b\u0161ana CMD komandas izpildei.<\/li>\n<li>USER \u2014 nosaka UID izveidotajam konteineram no att\u0113la.<\/li>\n<li>VOLUME \u2014 pievieno m\u0101jas direktoriju konteiners.<\/li>\n<li>EXPOSE \u2014 kopums konteiner\u0101 klaus\u0101m\u0101m portiem.<\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"kak-rabotaet-unionfs\">K\u0101 darbojas UnionFS?<\/h3>\n<p><\/p>\n<p><strong>UnionFS<\/strong> \u2014 pakalpojumu steka failu sist\u0113ma (FS) Linux un FreeBSD. \u0160\u012b FS \u012bsteno kop\u0113\u0161anas meh\u0101nismu rakst\u012b\u0161anas laik\u0101 (Copy-On-Write, COW). Darb\u012bbas vien\u012bba UnionFS ir sl\u0101nis, un katrs sl\u0101nis ir j\u0101uzskata par atsevi\u0161\u0137u pilnties\u012bgu failu sist\u0113mu ar direktoriju hierarhiju no pa\u0161as saknes. UnionFS izveido apvienoto mont\u0101\u017eu citiem failu sist\u0113m\u0101m un \u013cauj, lietot\u0101jam nemanot, apvienot failus un katalogus no da\u017e\u0101d\u0101m failu sist\u0113m\u0101m (saukt\u0101m par zariem) vienot\u0101 saist\u012bt\u0101 failu sist\u0113m\u0101.<\/p>\n<p><\/p>\n<p>Katalogu saturs ar identisk\u0101m tak\u0101m tiks att\u0113lots kop\u0101 vien\u0101 apvienot\u0101 katalog\u0101 (vienot\u0101 nosaukumu telp\u0101) ieg\u016btaj\u0101 failu sist\u0113m\u0101. <\/p>\n<p><\/p>\n<p><strong>UnionFS apvieno sl\u0101\u0146us, iev\u0113rojot \u0161\u0101dus principus:<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>viens no sl\u0101\u0146iem k\u013c\u016bst par augst\u0101ko sl\u0101ni, otrais un turpm\u0101kie \u2013 par zem\u0101kajiem sl\u0101\u0146iem;<\/li>\n<li>lietot\u0101jam sl\u0101\u0146u objekti pieejami \"no aug\u0161as uz leju\", t.i., ja piepras\u012btais objekts ir \"aug\u0161\u0113j\u0101\" sl\u0101n\u012b, tiek atgriezts tas, neatkar\u012bgi no t\u0101, vai \u0161\u0101ds objekts atrodas \"apak\u0161\u0113j\u0101\" sl\u0101n\u012b; cit\u0101di tiek atgriezts \"apak\u0161\u0113j\u0101\" sl\u0101\u0146a objekts; ja piepras\u012bt\u0101 objekta nav ne tur, ne tur, tiek atgriezta k\u013c\u016bda \"Nav t\u0101da faila vai katalogs\";<\/li>\n<li>darba sl\u0101nis ir \"aug\u0161\u0113jais\", tas ir, visas lietot\u0101ja veikt\u0101s darb\u012bbas datu mai\u0146\u0101 atspogu\u013cojas tikai augst\u0101ko sl\u0101\u0146u l\u012bmen\u012b, neietekm\u0113jot zem\u0101ko sl\u0101\u0146u saturu.<\/li>\n<\/ul>\n<p><\/p>\n<p>Docker ir visizplat\u012bt\u0101k\u0101 konteinervadm\u0101 tehnolo\u0123ija lietojumprogrammu darb\u012bb\u0101. Tas ir k\u013cuvis par standartu \u0161aj\u0101 jom\u0101, balstoties uz cgroups un nosaukumu telp\u0101m, ko nodro\u0161ina Linux kodols.<\/p>\n<p><\/p>\n<p>Docker \u013cauj mums \u0101tri izv\u0113rst lietojumprogrammas un maksim\u0101li optim\u0101li izmantot failu sist\u0113mu, sadalot OS kodolu starp visiem konteineriem, str\u0101d\u0101jot k\u0101 atsevi\u0161\u0137i OS procesi.<\/p>\n<p>Avots: <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.4 - 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\/lv\/blog\/administrirovanie\/vm-ili-docker\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"lv_LV\" \/>\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\/lv\/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\udd47 VM vai Docker? | ProHoster","description":"K\u0101 saprast, vai jums nepiecie\u0161ams Docker, nevis VM? J\u0101nosaka, ko tie\u0161i v\u0113laties izol\u0113t.","canonical_url":"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/vm-ili-docker","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"lv_LV","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\/lv\/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\/lv\/wp-json\/wp\/v2\/posts\/52238","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/comments?post=52238"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/52238\/revisions"}],"predecessor-version":[{"id":164089,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/52238\/revisions\/164089"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/media?parent=52238"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/categories?post=52238"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/tags?post=52238"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}