{"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\/ro\/blog\/administrirovanie\/vm-ili-docker","title":{"rendered":"VM sau Docker?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Cum s\u0103 \u00een\u021belege\u021bi c\u0103 ave\u021bi nevoie de Docker, nu de VM? Trebuie s\u0103 determina\u021bi ce anume dori\u021bi s\u0103 izola\u021bi. Dac\u0103 trebuie s\u0103 izola\u021bi un sistem cu resurse dedicate garantat \u0219i hardware virtual, atunci alegerea trebuie s\u0103 cad\u0103 pe VM. Dac\u0103 trebuie s\u0103 izola\u021bi aplica\u021biile active ca procese separate ale sistemului, ve\u021bi avea nevoie de 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\">Care este diferen\u021ba dintre containerele Docker \u0219i VM?<\/h3>\n<p><\/p>\n<p><strong>Ma\u0219ina virtual\u0103 (VM)<\/strong> este un computer virtual cu toate dispozitivele virtuale \u0219i cu un hard disk virtual, pe care se instaleaz\u0103 un nou sistem de operare independent \u00eempreun\u0103 cu driverele virtuale ale dispozitivelor, gestionarea memoriei \u0219i alte componente. Cu alte cuvinte, ob\u021binem o abstrac\u021bie a hardware-ului fizic, care permite rularea mai multor computere virtuale pe un singur computer.<br \/>\n<strong>O VM instalat\u0103 poate ocupa diferit spa\u021biu pe discul computerului:<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>spa\u021biu fix pe hard disk, ceea ce permite un acces mai rapid la hard diskul virtual \u0219i ajut\u0103 la evitarea fragment\u0103rii fi\u0219ierului;<\/li>\n<li>alocare dinamic\u0103 a memoriei. Atunci c\u00e2nd se instaleaz\u0103 aplica\u021bii suplimentare, memoria va fi alocat\u0103 dinamic pentru acestea, p\u00e2n\u0103 c\u00e2nd se atinge volumul maxim alocat.<\/li>\n<\/ul>\n<p><\/p>\n<p>Cu c\u00e2t <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/ro\/vps\/\"   title=\"ma\u0219ini virtuale\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2012\">ma\u0219ini virtuale<\/a> pe server, cu at\u00e2t mai mult spa\u021biu ocup\u0103, dar necesit\u0103 \u0219i \u00eentre\u021binerea constant\u0103 a mediului necesar pentru func\u021bionarea aplica\u021biei dvs.<\/p>\n<p><\/p>\n<p><strong>Docker<\/strong> este un software pentru crearea aplica\u021biilor bazate pe containere. Containerele \u0219i <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/ro\/vps\/abuzoustojchivye-vps\/\"   title=\"ma\u0219ini virtuale\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4214\">ma\u0219ini virtuale<\/a> au avantaje similare, dar func\u021bioneaz\u0103 diferit. Containerele ocup\u0103 mai pu\u021bin spa\u021biu, deoarece reutilizeaz\u0103 o cantitate mai mare de resurse comune ale sistemului gazd\u0103 dec\u00e2t VM, deoarece, spre deosebire de VM, asigur\u0103 virtualizarea la nivelul sistemului de operare, nu la nivel hardware. Aceast\u0103 abordare asigur\u0103 un volum mai mic de memorie utilizat, desf\u0103\u0219urare rapid\u0103 \u0219i scalare mai simpl\u0103.<\/p>\n<p><\/p>\n<p>Containerele ofer\u0103 un mecanism mai eficient de encapsulare a aplica\u021biilor, asigur\u00e2nd interfe\u021bele necesare ale sistemului gazd\u0103. Aceast\u0103 capacitate permite containerelor s\u0103 \u00eemp\u0103rt\u0103\u0219easc\u0103 nucleul sistemului, unde fiecare container functioneaz\u0103 ca un proces separat al OS-ului principal, av\u00e2nd propriul set de zone de memorie (spa\u021biu de adrese virtuale proprii). Deoarece spa\u021biul de adrese virtuale al fiec\u0103rui container este distinct, datele apar\u021bin\u00e2nd unor zone de memorie diferite nu pot fi modificate.<br \/>\nSistemul de operare nativ pentru Docker este Linux (Docker poate fi folosit \u0219i pe Windows \u0219i MacOS), acesta profit\u00e2nd de avantajele sale fundamentale, care \u00eei permit s\u0103 organizeze separarea nucleului. Rularea containerelor Docker pe Windows se va efectua \u00eentr-o ma\u0219in\u0103 virtual\u0103 cu sistem de operare Linux, deoarece containerele \u00eemp\u0103rt\u0103\u0219esc sistemul de operare al gazdei, iar Linux este sistemul de operare principal pentru acestea.<\/p>\n<p><\/p>\n<h3 id=\"konteyner---kak-eto-rabotaet\">Container \u2014 cum func\u021bioneaz\u0103?<\/h3>\n<p><\/p>\n<p><strong>Container<\/strong> \u2014 este o abstrac\u021bie la nivel de aplica\u021bie, care combin\u0103 codul \u0219i dependen\u021bele. Containerele sunt \u00eentotdeauna create din imagini, ad\u0103ug\u00e2nd un strat superior accesibil pentru scriere \u0219i ini\u021bializeaz\u0103 diferite parametrii. Deoarece containerul are propriul strat pentru scriere \u0219i toate modific\u0103rile sunt salvate \u00een acest strat, mai multe containere pot \u00eemp\u0103rt\u0103\u0219i accesul la aceea\u0219i imagine de baz\u0103.<\/p>\n<p><\/p>\n<p>Fiecare container poate fi configurat printr-un fi\u0219ier din proiectul docker-compose, inclus \u00een solu\u021bia principal\u0103 \u2014 docker-compose.yml. Acolo pot fi specificate diferite parametrii, cum ar fi numele containerului, porturile, identificatorii, limitele resurselor, dependen\u021bele \u00eentre alte containere. Dac\u0103 numele containerului nu este specificat \u00een set\u0103ri, Docker va crea de fiecare dat\u0103 un container nou, atribuindu-i un nume aleator.<\/p>\n<p><\/p>\n<p>C\u00e2nd un container este pornit dintr-o imagine, Docker monteaz\u0103 sistemul de fi\u0219iere pentru citire \u0219i scriere deasupra oric\u0103ror straturi inferioare. Aici se vor executa toate procesele pe care dorim s\u0103 le efectueze containerul nostru Docker. <\/p>\n<p><\/p>\n<p>C\u00e2nd Docker porne\u0219te pentru prima dat\u0103 un container, stratul ini\u021bial de citire-scriere este gol. C\u00e2nd au loc modific\u0103ri, acestea sunt aplicate la acest strat; de exemplu, dac\u0103 dori\u021bi s\u0103 modifica\u021bi un fi\u0219ier, acel fi\u0219ier va fi copiat din stratul doar pentru citire de mai jos \u00een stratul pentru citire \u0219i scriere.<br \/>\nVersiunea fi\u0219ierului disponibil\u0103 doar \u00een citire va continua s\u0103 existe, dar acum este ascuns\u0103 sub o copie. Volumenele sunt utilizate pentru stocarea datelor, indiferent de ciclul de via\u021b\u0103 al containerului. Volumele sunt ini\u021bializate la crearea containerului.<\/p>\n<p><\/p>\n<h3 id=\"kak-obraz-svyazan-s-konteynerom\">Cum este legat un imagine de un container?<\/h3>\n<p><\/p>\n<p><strong>Tip<\/strong> \u2014 elementul de baz\u0103 pentru fiecare container. Imaginea este creat\u0103 din Dockerfile, ad\u0103ugat \u00een proiect \u0219i reprezint\u0103 un set de sisteme de fi\u0219iere (straturi) suprapuse \u0219i grupate \u00eempreun\u0103, disponibile doar pentru citire; num\u0103rul maxim de straturi este 127.<\/p>\n<p><\/p>\n<p>La baza fiec\u0103rei imagini se afl\u0103 o imagine de baz\u0103, care este specificat\u0103 de comanda FROM \u2014 punctul de intrare la formarea imaginii Dockerfile. Fiecare strat este un strat readonly \u0219i este reprezentat de o comand\u0103 care modific\u0103 sistemul de fi\u0219iere documentat \u00een Dockerfile.<br \/>\nPentru a combina aceste straturi \u00eentr-o singur\u0103 imagine, Docker folose\u0219te Advanced multi layered Union file system (AuFS construit pe baza UnionFS), permi\u021b\u00e2nd diferitelor fi\u0219iere \u0219i directoare din diferite straturi de fi\u0219iere s\u0103 se suprapun\u0103 transparent, cre\u00e2nd un sistem de fi\u0219iere legat.<\/p>\n<p><\/p>\n<p>Straturile con\u021bin metadate care permit p\u0103strarea informa\u021biilor \u00eenso\u021bitoare despre fiecare strat \u00een timpul execu\u021biei \u0219i compil\u0103rii. Fiecare strat con\u021bine un link c\u0103tre stratul urm\u0103tor; dac\u0103 un strat nu are un link, atunci acesta este stratul de sus \u00een imagine.<\/p>\n<p><\/p>\n<p><strong>Dockerfile poate con\u021bine comenzi precum:<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>FROM \u2014 punctul de intrare la formarea imaginii;<\/li>\n<li>MAINTAINER \u2014 numele proprietarului imaginii;<\/li>\n<li>RUN \u2014 executarea unei comenzi \u00een timpul compil\u0103rii imaginii;<\/li>\n<li>ADD \u2014 copierea unui fi\u0219ier de pe gazd\u0103 \u00eentr-o nou\u0103 imagine; dac\u0103 este specificat un URL al fi\u0219ierului, Docker \u00eel va desc\u0103rca \u00een directorul specificat;<\/li>\n<li>ENV \u2014 variabile de mediu;<\/li>\n<li>CMD \u2014 ini\u021biaz\u0103 crearea unui nou container pe baza imaginii;<\/li>\n<li>ENTRYPOINT \u2014 comanda este executat\u0103 la pornirea containerului.<\/li>\n<li>WORKDIR \u2014 directorul de lucru pentru executarea comenzii CMD.<\/li>\n<li>USER \u2014 seteaz\u0103 UID pentru containerul creat pe baza imaginii.<\/li>\n<li>VOLUME \u2014 monteaz\u0103 un director de pe gazd\u0103 \u00een container.<\/li>\n<li>EXPOSE \u2014 setul de porturi ascultate \u00een container.<\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"kak-rabotaet-unionfs\">Cum func\u021bioneaz\u0103 UnionFS?<\/h3>\n<p><\/p>\n<p><strong>UnionFS<\/strong> \u2014 sistem de fi\u0219iere stiv\u0103 de sistem (FS) pentru Linux \u0219i FreeBSD. Acest FS implementeaz\u0103 mecanismul de copiere la scriere (Copy-On-Write, COW). Unitatea de lucru a UnionFS este un strat, fiecare strat trebuie considerat ca un sistem de fi\u0219iere complet, cu o ierarhie de directoare de la r\u0103d\u0103cin\u0103. UnionFS creeaz\u0103 un montaj combinat pentru alte sisteme de fi\u0219iere \u0219i permite utilizatorului s\u0103 uneasc\u0103 fi\u0219ierele \u0219i directoarele diferitelor sisteme de fi\u0219iere (numite ramuri) \u00eentr-un singur sistem de fi\u0219iere legat.<\/p>\n<p><\/p>\n<p>Con\u021binutul directoarelor cu c\u0103i identice va fi afi\u0219at \u00eempreun\u0103 \u00eentr-un singur director combinat (\u00eentr-un singur spa\u021biu de nume) al sistemului de fi\u0219iere ob\u021binut. <\/p>\n<p><\/p>\n<p><strong>UnionFS combin\u0103 straturile, conduc\u00e2ndu-se dup\u0103 urm\u0103toarele principii:<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>unul dintre straturi devine stratul de nivel superior, al doilea \u0219i straturile ulterioare devin straturi de nivel inferior;<\/li>\n<li>utilizatorului, obiectele straturilor sunt accesibile \"de sus \u00een jos\", adic\u0103 dac\u0103 obiectul solicitat se afl\u0103 \u00een stratul \"superior\", acesta este returnat, indiferent de existen\u021ba unui obiect cu acela\u0219i nume \u00een stratul \"inferior\"; altfel, este returnat obiectul stratului \"inferior\"; dac\u0103 obiectul solicitat nu se g\u0103se\u0219te nici acolo, nici acolo, este returnat\u0103 o eroare \"Nu exist\u0103 un asemenea fi\u0219ier sau director\";<\/li>\n<li>stratul de lucru este \"superior\", astfel c\u0103 toate ac\u021biunile utilizatorului de modificare a datelor se reflect\u0103 doar pe stratul de nivel superior, f\u0103r\u0103 a afecta con\u021binutul straturilor inferioare.<\/li>\n<\/ul>\n<p><\/p>\n<p>Docker este cea mai r\u0103sp\u00e2ndit\u0103 tehnologie de utilizare a containerelor \u00een r\u00e2ndul aplica\u021biilor. A devenit standard \u00een acest domeniu, baz\u00e2ndu-se pe cgroups \u0219i spa\u021biile de nume pe care le ofer\u0103 nucleul Linux.<\/p>\n<p><\/p>\n<p>Docker ne permite s\u0103 desf\u0103\u0219ur\u0103m rapid aplica\u021bii \u0219i s\u0103 utiliz\u0103m sistemul de fi\u0219iere c\u00e2t mai optim, prin separarea nucleului OS \u00eentre toate containerele, func\u021bion\u00e2nd ca procese OS separate.<\/p>\n<p>Sursa: <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\/ro\/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=\"ro_RO\" \/>\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\/ro\/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 sau Docker? | ProHoster","description":"Cum s\u0103 \u00een\u021belegi c\u0103 ai nevoie de Docker, nu de VM? Trebuie s\u0103 determini ce anume vrei s\u0103 izolezi.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/vm-ili-docker","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\/ro\/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\/ro\/wp-json\/wp\/v2\/posts\/52238","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=52238"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/52238\/revisions"}],"predecessor-version":[{"id":164089,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/52238\/revisions\/164089"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=52238"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=52238"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=52238"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}