{"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\/sq\/blog\/administrirovanie\/vm-ili-docker","title":{"rendered":"VM apo Docker?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Si e kuptoni se ju nevojitet Docker dhe jo VM? Duhet t\u00eb p\u00ebrcaktoni se \u00e7far\u00eb d\u00ebshironi t\u00eb izolonit. N\u00ebse duhet t\u00eb izolonit nj\u00eb sistem me burime t\u00eb garantuara dhe harduer virtual, at\u00ebher\u00eb zgjedhja duhet t\u00eb bjer\u00eb mbi VM. N\u00eb rast se duhen izoluar aplikacionet n\u00eb funksionim si procese t\u00eb ve\u00e7anta t\u00eb sistemit, ju nevojitet 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\">At\u00ebher\u00eb \u00e7far\u00eb dallimi ka midis konteiner\u00ebve Docker dhe VM?<\/h3>\n<p><\/p>\n<p><strong>Makin\u00eb virtuale (VM)<\/strong> \u00ebsht\u00eb nj\u00eb kompjuter virtual me t\u00eb gjitha pajisjet virtuale dhe harduerin virtual, ku instalohet nj\u00eb OS e re e pavarur s\u00eb bashku me dritaret virtuale t\u00eb pajisjeve, menaxhimin e memories dhe komponent\u00eb t\u00eb tjer\u00eb. Pra, ne marrim nj\u00eb abstraksion t\u00eb harduerit fizik, duke lejuar ekzekutimin e shum\u00eb kompjuter\u00ebve virtual\u00eb n\u00eb nj\u00eb kompjuter t\u00eb vet\u00ebm.<br \/>\n<strong>VM e instaluar mund t\u00eb marr\u00eb hap\u00ebsir\u00eb t\u00eb ndryshme n\u00eb diskun e kompjuterit:<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>hap\u00ebsir\u00eb fikse n\u00eb diskun e ngurt\u00eb, e cila lejon qasje m\u00eb t\u00eb shpejt\u00eb n\u00eb harduerin virtual dhe ndihmon n\u00eb shmangien e fragmentimit t\u00eb skedarit;<\/li>\n<li>ndarje dinamike e memories. Kur instalohen aplikacione t\u00eb tjera, memoria do t\u00eb ndahet dinamikisht p\u00ebr to, derisa t\u00eb arrij\u00eb v\u00ebllimin maksimal t\u00eb caktuar p\u00ebr t\u00eb.<\/li>\n<\/ul>\n<p><\/p>\n<p>Sa m\u00eb shum\u00eb <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/sq\/vps\/\"   title=\"makinave virtuale\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2012\">makinave virtuale<\/a> n\u00eb server, aq m\u00eb shum\u00eb hap\u00ebsir\u00eb ata z\u00ebn\u00eb, si dhe k\u00ebrkojn\u00eb mb\u00ebshtetje t\u00eb vazhdueshme t\u00eb ambientit t\u00eb nevojsh\u00ebm p\u00ebr funksionimin e aplikacionit tuaj.<\/p>\n<p><\/p>\n<p><strong>Docker<\/strong> \u00ebsht\u00eb nj\u00eb softuer p\u00ebr krijimin e aplikacioneve bazuar n\u00eb konteiner\u00eb. Konteiner\u00ebt dhe <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/sq\/vps\/abuzoustojchivye-vps\/\"   title=\"makinat virtuale\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4214\">makinat virtuale<\/a> kan\u00eb avantazhe t\u00eb ngjashme, por funksionojn\u00eb n\u00eb m\u00ebnyr\u00eb t\u00eb ndryshme. Konteiner\u00ebt z\u00ebn\u00eb m\u00eb pak hap\u00ebsir\u00eb, pasi ri-p\u00ebrdorin m\u00eb shum\u00eb burime t\u00eb p\u00ebrbashk\u00ebta t\u00eb sistemit prit\u00ebs se sa VM, sepse, ndryshe nga VM, siguron virtualizim n\u00eb nivelin e OS-s\u00eb dhe jo n\u00eb harduer. Ky qasje garanton nj\u00eb v\u00ebllim m\u00eb t\u00eb vog\u00ebl t\u00eb memories, nj\u00eb shp\u00ebrndarje m\u00eb t\u00eb shpejt\u00eb dhe nj\u00eb shkall\u00ebzim m\u00eb t\u00eb thjesht\u00eb.<\/p>\n<p><\/p>\n<p>Konteineri ofron nj\u00eb mekaniz\u00ebm m\u00eb efektiv t\u00eb infrastruktur\u00ebs s\u00eb aplikacioneve, duke siguruar nd\u00ebrfaqet e nevojshme t\u00eb sistemit prit\u00ebs. Kjo mund\u00ebsi lejon konteiner\u00ebt t\u00eb ndajn\u00eb b\u00ebrtham\u00ebn e sistemit, ku \u00e7do konteiner funksionon si nj\u00eb proces t\u00eb ve\u00e7ant\u00eb t\u00eb OS-s\u00eb kryesore, i cili ka grupin e tij t\u00eb ve\u00e7ant\u00eb t\u00eb hap\u00ebsir\u00ebs s\u00eb memories (hap\u00ebsira virtuale e adresave t\u00eb vet). Duke qen\u00eb se hap\u00ebsira virtuale e adresave t\u00eb \u00e7do konteineri \u00ebsht\u00eb e ve\u00e7ant\u00eb, t\u00eb dh\u00ebnat q\u00eb i p\u00ebrkasin grupeve t\u00eb ndryshme t\u00eb memories nuk mund t\u00eb ndryshohen.<br \/>\nSistemi operativ natyror p\u00ebr Docker \u00ebsht\u00eb Linux (Docker mund t\u00eb p\u00ebrdoret gjithashtu edhe n\u00eb Windows dhe MacOS), ai p\u00ebrdor p\u00ebrfitimet e saj kryesore, t\u00eb cilat i lejojn\u00eb t\u00eb organizoj\u00eb ndarjen e b\u00ebrtham\u00ebs. Ekzekutimi i konteiner\u00ebve Docker n\u00eb Windows do t\u00eb ndodhi brenda nj\u00eb makine virtuale me OS Linux, pasi konteiner\u00ebt ndajn\u00eb OS-n\u00eb e sistemit prit\u00ebs dhe sistemi operativ kryesor p\u00ebr ta \u00ebsht\u00eb Linux.<\/p>\n<p><\/p>\n<h3 id=\"konteyner---kak-eto-rabotaet\">Konteineri \u2014 si funksionon?<\/h3>\n<p><\/p>\n<p><strong>Kontejner<\/strong> \u2014 \u00ebsht\u00eb nj\u00eb abstraksion n\u00eb nivelin e aplikacionit, q\u00eb kombinon kodin dhe var\u00ebsit\u00eb. Konteiner\u00ebt gjithmon\u00eb krijohen nga imazhe, duke shtuar nj\u00eb shtres\u00eb t\u00eb shkruashme dhe duke inicializuar parametra t\u00eb ndrysh\u00ebm. Meqen\u00ebse konteineri ka shtres\u00ebn e vet t\u00eb shkruashme dhe t\u00eb gjitha ndryshimet ruhen n\u00eb k\u00ebt\u00eb shtres\u00eb, disa konteiner\u00eb mund t\u00eb ndajn\u00eb qasje n\u00eb t\u00eb nj\u00ebjtin imazh baz\u00eb.<\/p>\n<p><\/p>\n<p>\u00c7do konteiner mund t\u00eb konfigurohet p\u00ebrmes nj\u00eb skedari n\u00eb projektin docker-compose, t\u00eb p\u00ebrfshir\u00eb n\u00eb zgjidhjen kryesore \u2014 docker-compose.yml. Atje mund t\u00eb specifikohen parametra t\u00eb ndrysh\u00ebm si emri i konteinerit, portet, identifikuesit, kufizimet e burimeve, var\u00ebsit\u00eb me konteiner\u00eb t\u00eb tjer\u00eb. N\u00ebse emri i konteinerit nuk specifikohet n\u00eb cil\u00ebsimet, Docker do t\u00eb krijoj\u00eb nj\u00eb konteiner t\u00eb ri \u00e7do her\u00eb, duke i dh\u00ebn\u00eb atij nj\u00eb em\u00ebr aksidental.<\/p>\n<p><\/p>\n<p>Kur konteineri fillon nga imazhi, Docker e monton sistemin e skedave p\u00ebr t\u00eb lexuar dhe shkruar mbi \u00e7do shtres\u00eb posht\u00eb. K\u00ebtu do t\u00eb ekzekutohen t\u00eb gjith\u00eb proceset q\u00eb d\u00ebshirojm\u00eb q\u00eb konteineri yn\u00eb Docker t\u00eb p\u00ebrmbush\u00eb. <\/p>\n<p><\/p>\n<p>Kur Docker e fillon p\u00ebr her\u00eb t\u00eb par\u00eb konteinerin, shtresa fillestare p\u00ebr t\u00eb lexuar dhe shkruar \u00ebsht\u00eb e zbraz\u00ebt. Kur ndodhin ndryshime, ato aplikohen n\u00eb k\u00ebt\u00eb shtres\u00eb; p\u00ebr shembull, n\u00ebse d\u00ebshironi t\u00eb modifikoni nj\u00eb skedar, ky skedar do t\u00eb kopjohet nga shtresa vet\u00ebm p\u00ebr t\u00eb lexuar posht\u00eb n\u00eb nj\u00eb shtres\u00eb p\u00ebr t\u00eb lexuar dhe shkruar.<br \/>\nVersioni i skedarit q\u00eb \u00ebsht\u00eb vet\u00ebm p\u00ebr t\u00eb lexuar, akoma do t\u00eb ekzistoj\u00eb, por tani \u00ebsht\u00eb e mbuluar n\u00ebn kopjen. P\u00ebr ruajtjen e t\u00eb dh\u00ebnave, pavar\u00ebsisht jet\u00ebs s\u00eb konteinerit, p\u00ebrdoren volumet. Volumet inicializohen gjat\u00eb krijimit t\u00eb konteinerit.<\/p>\n<p><\/p>\n<h3 id=\"kak-obraz-svyazan-s-konteynerom\">Si lidhet imazhi me konteinerin?<\/h3>\n<p><\/p>\n<p><strong>Imazhi<\/strong> \u2014 elementi kryesor p\u00ebr \u00e7do konteiner. Imazhi krijohet nga Dockerfile, i p\u00ebrfshir\u00eb n\u00eb projekt dhe p\u00ebrfaq\u00ebson nj\u00eb grup sistemesh skedar\u00ebsh (shtresash) t\u00eb vendosur nj\u00eb mbi tjet\u00ebr dhe t\u00eb grupuar s\u00eb bashku, t\u00eb disponuesh\u00ebm vet\u00ebm p\u00ebr t\u00eb lexuar; numri maksimal i shtresave \u00ebsht\u00eb 127.<\/p>\n<p><\/p>\n<p>N\u00eb thelb t\u00eb \u00e7do imazhi ndodhet nj\u00eb imazh baz\u00eb, i cili p\u00ebrcaktohet nga komanda FROM \u2014 pika hyr\u00ebse gjat\u00eb form\u00ebsimit t\u00eb imazhit Dockerfile. \u00c7do shtres\u00eb \u00ebsht\u00eb nj\u00eb shtres\u00eb vet\u00ebm p\u00ebr t\u00eb lexuar dhe p\u00ebrfaq\u00ebsohet nga nj\u00eb komand\u00eb, q\u00eb modifikon sistemin e skedar\u00ebve t\u00eb shkruar n\u00eb Dockerfile.<br \/>\nP\u00ebr t\u00eb kombinuar k\u00ebto shtresa n\u00eb nj\u00eb imazh, Docker p\u00ebrdor Advanced multi layered Union file system (AuFS e nd\u00ebrtuar mbi UnionFS), duke lejuar q\u00eb skedar\u00eb dhe drejtime t\u00eb ndryshme nga shtresa t\u00eb ndryshme t\u00eb skedar\u00ebve t\u00eb mbivendosen n\u00eb m\u00ebnyr\u00eb t\u00eb tejdukshme, duke krijuar nj\u00eb sistem t\u00eb lidhur skedar\u00ebsh.<\/p>\n<p><\/p>\n<p>Shtresat p\u00ebrmbajn\u00eb metadat, t\u00eb cilat lejojn\u00eb ruajtjen e informacionit t\u00eb shoq\u00ebruesh\u00ebm p\u00ebr secil\u00ebn shtres\u00eb gjat\u00eb ekzekutimit dhe nd\u00ebrtimit. \u00c7do shtres\u00eb p\u00ebrmban nj\u00eb referenc\u00eb n\u00eb shtres\u00ebn tjet\u00ebr, n\u00ebse nj\u00eb shtres\u00eb nuk ka referenc\u00eb, at\u00ebher\u00eb kjo \u00ebsht\u00eb shtresa m\u00eb e sip\u00ebrme n\u00eb imazh.<\/p>\n<p><\/p>\n<p><strong>Dockerfile mund t\u00eb p\u00ebrmbaj\u00eb komandat si:<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>FROM \u2014 pika hyr\u00ebse gjat\u00eb form\u00ebsimit t\u00eb imazhit;<\/li>\n<li>MAINTAINER \u2014 emri i pronarit t\u00eb imazhit;<\/li>\n<li>RUN \u2014 ekzekutimi i komand\u00ebs gjat\u00eb nd\u00ebrtimit t\u00eb imazhit;<\/li>\n<li>ADD \u2014 kopjimi i nj\u00eb skedh\u00eb t\u00eb hostit n\u00eb imazhin e ri, n\u00ebse specifikohet URL e skedh\u00ebs, Docker do ta ngarkoj\u00eb at\u00eb n\u00eb direktoriumin e caktuar;<\/li>\n<li>ENV \u2014 variablat e ambientit;<\/li>\n<li>CMD \u2014 nis krijimin e nj\u00eb kontejneri t\u00eb ri bazuar n\u00eb imazh;<\/li>\n<li>ENTRYPOINT \u2014 komanda ekzekutohet kur niset kontejneri.<\/li>\n<li>WORKDIR \u2014 direktoriumi i pun\u00ebs p\u00ebr ekzekutimin e komand\u00ebs CMD.<\/li>\n<li>USER \u2014 p\u00ebrcakton UID p\u00ebr kontejnerin e krijuar nga imazhi.<\/li>\n<li>VOLUME \u2014 monton direktoriumin e hostit n\u00eb kontejner.<\/li>\n<li>EXPOSE \u2014 grupi i porteve t\u00eb d\u00ebgjuara n\u00eb kontejner.<\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"kak-rabotaet-unionfs\">Si funksionon UnionFS?<\/h3>\n<p><\/p>\n<p><strong>UnionFS<\/strong> \u2014 nj\u00eb sistem skedar\u00ebsh n\u00eb stak\u00eb (FS) p\u00ebr Linux dhe FreeBSD. Ky FS realizon mekanizmin e kopjimit gjat\u00eb shkruarjes (Copy-On-Write, COW). Nj\u00ebsia punuese e UnionFS \u00ebsht\u00eb nj\u00eb shtres\u00eb, \u00e7do shtres\u00eb duhet t\u00eb konsiderohet si nj\u00eb sistem skedar\u00ebsh i plot\u00eb me nj\u00eb hierarki direktoriumesh nga vet\u00eb rr\u00ebnja. UnionFS krijon nj\u00eb montim t\u00eb p\u00ebrbashk\u00ebt p\u00ebr sisteme t\u00eb tjera skedar\u00ebsh dhe lejon q\u00eb p\u00ebrdoruesi t\u00eb bashkoi skedhat dhe direktoriumet e sistemeve t\u00eb ndryshme skedar\u00ebsh (t\u00eb quajtura dega) n\u00eb nj\u00eb sistem t\u00eb vet\u00ebm t\u00eb lidhur.<\/p>\n<p><\/p>\n<p>P\u00ebrmbajtja e direktoriumeve me rrug\u00eb identike do t\u00eb shfaqet s\u00eb bashku n\u00eb nj\u00eb direktorium t\u00eb p\u00ebrbashk\u00ebt (n\u00eb nj\u00eb hap\u00ebsir\u00eb emri t\u00eb p\u00ebrbashk\u00ebt) t\u00eb sistemit t\u00eb skedar\u00ebve q\u00eb \u00ebsht\u00eb p\u00ebrftuar. <\/p>\n<p><\/p>\n<p><strong>UnionFS bashkon shtresat duke u bazuar n\u00eb k\u00ebto parime:<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>nj\u00eb nga shtresat b\u00ebhet shtresa n\u00eb krye, nd\u00ebrsa e dyta dhe m\u00eb pas shtresat b\u00ebhen shtresa t\u00eb poshtme;<\/li>\n<li>p\u00ebrdoruesit objekti i shtresave i disponohet \"nga lart posht\u00eb\", dmth. n\u00ebse objekti i k\u00ebrkuar ndodhet n\u00eb \"shtres\u00ebn e sip\u00ebrme\", ai kthehet, pavar\u00ebsisht nga prania e objektit me emrin e till\u00eb n\u00eb \"shtres\u00ebn e poshtme\"; p\u00ebrndryshe kthehet objekti i \"shtres\u00ebs s\u00eb poshtme\"; n\u00ebse objekti i k\u00ebrkuar nuk ndodhet as aty, as k\u00ebtu, kthehet nj\u00eb gabim \"Nuk ka nj\u00eb skedar ose direktorium t\u00eb till\u00eb\";<\/li>\n<li>shtresa e pun\u00ebs \u00ebsht\u00eb \"shtresa e sip\u00ebrme\", dmth. t\u00eb gjitha veprimet e p\u00ebrdoruesit p\u00ebr ndryshimin e t\u00eb dh\u00ebnave pasqyrohen vet\u00ebm n\u00eb shtres\u00ebn e sip\u00ebrme, duke mos ndikuar n\u00eb p\u00ebrmbajtjen e shtresave t\u00eb poshtme.<\/li>\n<\/ul>\n<p><\/p>\n<p>Docker \u00ebsht\u00eb teknologjia m\u00eb e p\u00ebrhapur p\u00ebr p\u00ebrdorimin e konteiner\u00ebve n\u00eb funksionimin e aplikacioneve. Ai \u00ebsht\u00eb b\u00ebr\u00eb standard n\u00eb k\u00ebt\u00eb fush\u00eb, duke u nd\u00ebrtuar mbi cgroups dhe hap\u00ebsirat emri q\u00eb siguron b\u00ebrthama Linux.<\/p>\n<p><\/p>\n<p>Docker na lejon t\u00eb lan\u00e7ojm\u00eb aplikacione shpejt dhe t\u00eb p\u00ebrdorim maksimalisht sistemin e skedar\u00ebve duke ndar\u00eb b\u00ebrtham\u00ebn e OS-it midis t\u00eb gjith\u00eb kontejner\u00ebve, duke punuar si procese t\u00eb ndara t\u00eb OS-it.<\/p>\n<p>Burimi: <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.0.1 - 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\/sq\/blog\/administrirovanie\/vm-ili-docker\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\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\/sq\/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 apo Docker? | ProHoster","description":"Si ta kuptoni se ju nevojitet Docker, dhe jo VM? Duhet t\u00eb p\u00ebrcaktoni se \u00e7far\u00eb sakt\u00ebsisht doni t\u00eb izolojni.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/vm-ili-docker","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","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\/sq\/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\/sq\/wp-json\/wp\/v2\/posts\/52238","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=52238"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/52238\/revisions"}],"predecessor-version":[{"id":164089,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/52238\/revisions\/164089"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=52238"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=52238"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=52238"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}