{"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 t\u00eb kuptoni se ju nevojitet Docker dhe jo VM? Duhet t\u00eb p\u00ebrcaktoni se \u00e7far\u00eb sakt\u00ebsisht d\u00ebshironi t\u00eb izolonit. N\u00ebse duhet t\u00eb izolonit nj\u00eb sistem me burime t\u00eb garantuara dhe me harduer virtual, at\u00ebher\u00eb zgjedhja duhet t\u00eb bjer\u00eb mbi VM. N\u00ebse duhet t\u00eb izolonit aplikacione t\u00eb funksionimit 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\">Pra, \u00e7far\u00eb \u00ebsht\u00eb dallimi 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 diskun virtual, n\u00eb t\u00eb cilin instalohet nj\u00eb OS e re e pavarur s\u00eb bashku me drejtuesit virtual\u00eb t\u00eb pajisjeve, menaxhimin e memories dhe komponent\u00ebt e tjer\u00eb. Ajo q\u00eb na lejon, \u00ebsht\u00eb nj\u00eb abstraksion i harduerit fizik, duke mund\u00ebsuar ekzekutimin e shum\u00eb kompjuter\u00ebve virtual\u00eb n\u00eb nj\u00eb kompjuter t\u00eb vet\u00ebm.<br \/>\n<strong>Nj\u00eb VM e instaluar mund t\u00eb z\u00ebr\u00eb hap\u00ebsira 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, \u00e7ka mund\u00ebson nj\u00eb qasje m\u00eb t\u00eb shpejt\u00eb n\u00eb disku virtual dhe shmang fragmentimin e skedarit;<\/li>\n<li>ndarjen dinamike t\u00eb memories. Gjat\u00eb instalimit t\u00eb aplikacioneve shtes\u00eb, memoria do t\u00eb ndahet dinamikisht p\u00ebr to, derisa t\u00eb arrij\u00eb volumit maksimal t\u00eb caktuar asaj.<\/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=\"makinat virtuale\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2012\">makinat virtuale<\/a> n\u00eb server, aq m\u00eb shum\u00eb hap\u00ebsir\u00eb z\u00ebn\u00eb dhe gjithashtu k\u00ebrkojn\u00eb mb\u00ebshtetje t\u00eb vazhdueshme t\u00eb mjedisit t\u00eb nevojshme p\u00ebr funksionimin e aplikacionit tuaj.<\/p>\n<p><\/p>\n<p><strong>Docker<\/strong> \u00ebsht\u00eb nj\u00eb software p\u00ebr krijimin e aplikacioneve mbi baz\u00ebn e kontejner\u00ebve. Konteiner\u00ebt dhe <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/sq\/vps\/abuzoustojchivye-vps\/\"   title=\"makina virtuale\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4214\">makina virtuale<\/a> kan\u00eb p\u00ebrfitime t\u00eb ngjashme, por funksionojn\u00eb ndryshe. Konteiner\u00ebt z\u00ebn\u00eb m\u00eb pak hap\u00ebsir\u00eb, sepse rip\u00ebrdorin nj\u00eb sasi m\u00eb t\u00eb madhe t\u00eb burimeve t\u00eb p\u00ebrbashk\u00ebta t\u00eb sistemit prit\u00ebs sesa VM, sepse, ndryshe nga VM, ofrojn\u00eb virtualizim n\u00eb nivelin e OS, dhe jo t\u00eb harduerit. Ky qasje siguron nj\u00eb volum m\u00eb t\u00eb vog\u00ebl t\u00eb memories t\u00eb z\u00ebn\u00eb, implementim t\u00eb shpejt\u00eb dhe nj\u00eb shkall\u00ebzim m\u00eb t\u00eb leht\u00eb.<\/p>\n<p><\/p>\n<p>Konteineri ofron nj\u00eb mekaniz\u00ebm m\u00eb efikas t\u00eb inkapsulimit t\u00eb aplikacioneve, duke siguruar nd\u00ebrfaqet e nevojshme t\u00eb sistemit prit\u00ebs. Kjo mund\u00ebsi lejon q\u00eb kontejner\u00ebt t\u00eb ndajn\u00eb b\u00ebrthamat e sistemit, ku secili prej kontejner\u00ebve funksionon si nj\u00eb proces i ve\u00e7ant\u00eb i OS kryesore, i cili ka nj\u00eb grup t\u00eb vetin t\u00eb hap\u00ebsir\u00ebs s\u00eb memories (hap\u00ebsir\u00eb e alamat\u00ebs virtuale). Duke qen\u00eb se hap\u00ebsira e alamat\u00ebs virtuale e secilit kontejner \u00ebsht\u00eb e ve\u00e7ant\u00eb, t\u00eb dh\u00ebnat q\u00eb i takojn\u00eb hap\u00ebsirave 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 n\u00eb Windows dhe MacOS), ai p\u00ebrdor avantazhet e tij kryesore, t\u00eb cilat i lejojn\u00eb atij t\u00eb organizoj\u00eb ndarjen e b\u00ebrtham\u00ebs. Aktivizimi i kontejner\u00ebve Docker n\u00eb Windows do t\u00eb ndodh\u00eb brenda nj\u00eb makine virtuale me sistemin operativ Linux, pasi kontejner\u00ebt ndajn\u00eb OS-n\u00eb e sistemit prit\u00ebs dhe sistemi kryesor p\u00ebr ta \u00ebsht\u00eb Linux.<\/p>\n<p><\/p>\n<h3 id=\"konteyner---kak-eto-rabotaet\">Konteineri \u2014 si funksionon kjo?<\/h3>\n<p><\/p>\n<p><strong>Konteineri<\/strong> \u00ebsht\u00eb nj\u00eb abstraksion n\u00eb nivelin e aplikacionit, q\u00eb bashkon kodin dhe var\u00ebsit\u00eb. Kontejner\u00ebt gjithmon\u00eb krijohen nga imazhe, duke shtuar nj\u00eb shtres\u00eb t\u00eb dispozitshme p\u00ebr shkak t\u00eb shkrimit dhe fillon parametrat e ndrysh\u00ebm. Duke qen\u00eb se kontejneri ka shtres\u00ebn e tij p\u00ebr shkak t\u00eb shkrimit dhe t\u00eb gjitha ndryshimet ruhen n\u00eb k\u00ebt\u00eb shtres\u00eb, disa kontejner\u00eb mund t\u00eb ndajn\u00eb qasjen n\u00eb t\u00eb nj\u00ebjtin imazh kryesor.<\/p>\n<p><\/p>\n<p>\u00c7do kontejner mund t\u00eb konfigurohet p\u00ebrmes nj\u00eb skedari n\u00eb projektin docker-compose, i p\u00ebrfshir\u00eb n\u00eb zgjidhjen kryesore \u2014 docker-compose.yml. Aty mund t\u00eb p\u00ebrcaktohen parametra t\u00eb ndrysh\u00ebm si emri i kontejnerit, portet, identifikuesit, kufijt\u00eb e burimeve, var\u00ebsit\u00eb me kontejner\u00eb t\u00eb tjer\u00eb. N\u00ebse nuk p\u00ebrcaktohet emri i kontejnerit n\u00eb konfigurime, Docker do t\u00eb krijoj\u00eb \u00e7do her\u00eb nj\u00eb kontejner t\u00eb ri, duke i dh\u00ebn\u00eb atij nj\u00eb em\u00ebr rast\u00ebsor.<\/p>\n<p><\/p>\n<p>Kur kontejneri ndizet nga nj\u00eb imazh, Docker monton sistemin e skedar\u00ebve p\u00ebr lexim dhe shkruaj p\u00ebrmbi \u00e7do shtres\u00eb m\u00eb posht\u00eb. K\u00ebtu do t\u00eb ekzekutohen t\u00eb gjith\u00eb proceset q\u00eb d\u00ebshirojm\u00eb q\u00eb kontejneri yn\u00eb Docker t\u00eb ekzekutoj\u00eb. <\/p>\n<p><\/p>\n<p>Kur Docker aktivizon p\u00ebr her\u00eb t\u00eb par\u00eb nj\u00eb kontejner, shtresa fillestare p\u00ebr lexim dhe shkruaj \u00ebsht\u00eb bosh. Kur ndodhin ndryshime, ato aplikohen n\u00eb k\u00ebt\u00eb shtres\u00eb; p\u00ebr shembull, n\u00ebse d\u00ebshironi t\u00eb ndryshoni nj\u00eb skedar, ai skedar do t\u00eb kopjohet nga shtresa e leht\u00eb p\u00ebr leximin m\u00eb posht\u00eb n\u00eb shtres\u00ebn p\u00ebr lexim dhe shkruaj.<br \/>\nVersioni e files, e cila \u00ebsht\u00eb e disponueshme vet\u00ebm p\u00ebr lexim, do t\u00eb ekzistoj\u00eb ende, por tani \u00ebsht\u00eb e fshehur pas nj\u00eb kopjeje. Volume p\u00ebrdoren p\u00ebr ruajtjen e t\u00eb dh\u00ebnave, pavar\u00ebsisht nga cikli i jet\u00ebs s\u00eb kontejnerit. Volume-in inicializohen kur krijohet kontejneri.<\/p>\n<p><\/p>\n<h3 id=\"kak-obraz-svyazan-s-konteynerom\">Si \u00ebsht\u00eb e lidhur imazhi me kontejnerin?<\/h3>\n<p><\/p>\n<p><strong>Imazh<\/strong> \u2014 elementi kryesor p\u00ebr \u00e7do kontejner. Imazhi krijohet nga Dockerfile, i shtuar n\u00eb projekt dhe p\u00ebrfaq\u00ebson nj\u00eb grup sistemesh skedash (shtresash) t\u00eb mbivendosura dhe t\u00eb grumbulluara s\u00eb bashku, t\u00eb disponueshme vet\u00ebm p\u00ebr lexim; numri maksimal i shtresave \u00ebsht\u00eb 127.<\/p>\n<p><\/p>\n<p>N\u00eb themel t\u00eb \u00e7do imazhi q\u00ebndron nj\u00eb imazh baz\u00eb, i cili p\u00ebrcaktohet nga komanda FROM \u2014 pika hyr\u00ebse gjat\u00eb formimit t\u00eb imazhit Dockerfile. \u00c7do shtres\u00eb \u00ebsht\u00eb nj\u00eb shtres\u00eb e lexueshme 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 \u00ebsht\u00eb e bazuar n\u00eb UnionFS), duke lejuar q\u00eb skedar\u00ebt dhe direktor\u00ebt e ndrysh\u00ebm nga shtresat e ndryshme t\u00eb skedar\u00ebve t\u00eb mbivendosen transparencisht, duke krijuar nj\u00eb sistem skedar\u00ebsh t\u00eb lidhur.<\/p>\n<p><\/p>\n<p>Shtresat p\u00ebrmbajn\u00eb metadata q\u00eb lejojn\u00eb ruajtjen e informacionit shoq\u00ebrues 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 pasuese, n\u00ebse shtresa 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 formimit t\u00eb imazhit;<\/li>\n<li>MAINTAINER \u2014 emri i pronarit t\u00eb imazhit;<\/li>\n<li>RUN \u2014 ekzekuton nj\u00eb komand\u00eb gjat\u00eb nd\u00ebrtimit t\u00eb imazhit;<\/li>\n<li>ADD \u2014 kopjon nj\u00eb skedar nga host n\u00eb imazhin e ri, n\u00ebse p\u00ebrcaktohet URL e skedarit, Docker do ta shkarkoj\u00eb n\u00eb direktorin\u00eb e caktuar;<\/li>\n<li>ENV \u2014 variablat e ambientit;<\/li>\n<li>CMD \u2014 fillon krijimin e nj\u00eb kontejneri t\u00eb ri bazuar n\u00eb imazh;<\/li>\n<li>ENTRYPOINT \u2014 komanda ekzekutohet kur fillohet kontejneri.<\/li>\n<li>WORKDIR \u2014 katalogu punues p\u00ebr ekzekutimin e komand\u00ebs CMD.<\/li>\n<li>USER \u2014 vendos UID p\u00ebr kontejnerin e krijuar mbi imazhin.<\/li>\n<li>VOLUME \u2014 monton nj\u00eb direktori host 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 skedari stakik sh\u00ebrbimi (FS) p\u00ebr Linux dhe FreeBSD. Ky FS implementon mekanizmin e kopjimit gjat\u00eb shkrimit (Copy-On-Write, COW). Nj\u00ebsia punuese e UnionFS \u00ebsht\u00eb nj\u00eb shtres\u00eb, \u00e7do shtres\u00eb duhet t\u00eb merret n\u00eb konsiderat\u00eb si nj\u00eb sistem skedari i pavarur dhe t\u00eb plot\u00eb me nj\u00eb hierarki direktor\u00ebsh nga rr\u00ebnj\u00ebsore. UnionFS krijon nj\u00eb montim t\u00eb bashkuar p\u00ebr sistemet e tjera t\u00eb skedar\u00ebve dhe lejon q\u00eb p\u00ebrdoruesi t\u00eb bashkoj\u00eb skedar\u00eb dhe katalog\u00eb t\u00eb sistemeve t\u00eb ndryshme skedari (t\u00eb quajtur deg\u00eb) n\u00eb nj\u00eb sistem skedari t\u00eb lidhur t\u00eb vet\u00ebm.<\/p>\n<p><\/p>\n<p>P\u00ebrmbajtja e katalog\u00ebve me rrug\u00eb t\u00eb nj\u00ebjta do t\u00eb shfaqet s\u00eb bashku n\u00eb nj\u00eb katalog t\u00eb bashkuar (n\u00eb nj\u00eb hap\u00ebsir\u00eb emri t\u00eb vetme) t\u00eb sistemit t\u00eb skedar\u00ebve t\u00eb marr\u00eb. <\/p>\n<p><\/p>\n<p><strong>UnionFS bashkon shtresat duke u udh\u00ebhequr nga parimet e m\u00ebposhtme:<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>nj\u00eb nga shtresat b\u00ebhet shtresa e nivelit t\u00eb lart\u00eb, nd\u00ebrsa e dyta dhe shtresat e m\u00ebpasshme \u2013 shtresa t\u00eb nivelit t\u00eb posht\u00ebm;<\/li>\n<li>objektet e shtresave jan\u00eb t\u00eb arritshme p\u00ebr p\u00ebrdoruesin \"nga lart\u00eb posht\u00eb\", dmth. n\u00ebse objekti i k\u00ebrkuar ndodhet n\u00eb \"shtres\u00ebn e lart\u00eb\", ai kthehet, pavar\u00ebsisht nga ekzistenca e nj\u00eb objekti me t\u00eb nj\u00ebjtin em\u00ebr n\u00eb \"shtres\u00ebn e poshtme\"; p\u00ebrndryshe kthehet objekti i \"shtres\u00ebs s\u00eb poshtme\"; n\u00ebse objekti i k\u00ebrkuar nuk ekziston as aty as k\u00ebtu, kthehet nj\u00eb gabim \"Nuk ka nj\u00eb skedar ose katalog t\u00eb till\u00eb\";<\/li>\n<li>shtresa e pun\u00ebs \u00ebsht\u00eb \"shtresa e lart\u00eb\", dmth. t\u00eb gjitha veprimet e p\u00ebrdoruesit p\u00ebr ndryshimin e t\u00eb dh\u00ebnave reflektohen vet\u00ebm n\u00eb shtres\u00ebn e nivelit t\u00eb lart\u00eb, pa ndikuar n\u00eb p\u00ebrmbajtjen e shtresave t\u00eb nivelit t\u00eb posht\u00ebm.<\/li>\n<\/ul>\n<p><\/p>\n<p>Docker \u00ebsht\u00eb teknologjia m\u00eb e p\u00ebrhapur p\u00ebr p\u00ebrdorimin e kontejner\u00ebve n\u00eb pun\u00ebn e aplikacioneve. Ai \u00ebsht\u00eb b\u00ebr\u00eb standard n\u00eb k\u00ebt\u00eb fush\u00eb, duke u nd\u00ebrtuar mbi baz\u00ebn e cgroups dhe hap\u00ebsirave emri q\u00eb siguron b\u00ebrthama Linux.<\/p>\n<p><\/p>\n<p>Docker na lejon t\u00eb deploym aplikacioneve shpejt dhe t\u00eb p\u00ebrdorim maksimalisht sistemin e skedar\u00ebve fal\u00eb ndarjes s\u00eb b\u00ebrtham\u00ebs s\u00eb OS midis t\u00eb gjitha konteiner\u00ebve, duke funksionuar si procese t\u00eb ve\u00e7anta t\u00eb OS.<\/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.2 - 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.2\" \/>\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 t\u00eb kuptoni se ju nevojitet Docker dhe jo VM? Duhet t\u00eb p\u00ebrcaktoni se \u00e7far\u00eb d\u00ebshironi t\u00eb izoloj\u00eb.","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}]}}