{"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\/et\/blog\/administrirovanie\/vm-ili-docker","title":{"rendered":"VM v\u00f5i Docker?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Kuidas m\u00f5ista, kas vajate Dockerit v\u00f5i VM-i? Tuleb m\u00e4\u00e4ratleda, mida t\u00e4pselt soovite isoleerida. Kui on vajalik isoleerida s\u00fcsteem koos garanteeritud reserveeritud ressurssidega ja virtuaalse riistvaraga, on valikuks VM. Kui seevastu on vaja isoleerida t\u00f6\u00f6tavad rakendused kui eraldiseisvad s\u00fcsteemi protsessid, vajate Dockerit.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3 id=\"tak-v-chyom-zhe-otlichie-docker-konteynerov-ot-vm\">Mis siis tegelikult eristab Docker-konteinereid VM-idest?<\/h3>\n<p><\/p>\n<p><strong>Virtuaalne masin (VM)<\/strong> on virtuaalne arvuti k\u00f5igi virtuaalsete seadmete ja virtuaalse k\u00f5vakettaga, kuhu installitakse uus s\u00f5ltumatu ops\u00fcsteem koos virtuaalsete seadme draiveritega, m\u00e4luhalduse ja muude koostisosadega. See t\u00e4hendab, et saame f\u00fc\u00fcsilise riistvara abstraktsiooni, mis v\u00f5imaldab \u00fchel arvutil k\u00e4itada mitmeid virtuaalseid arvuteid.<br \/>\n<strong>Installitud VM v\u00f5ib h\u00f5ivata erinevalt ruumi arvuti k\u00f5vakettal:<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>fikseeritud ruumi k\u00f5vakettal, mis v\u00f5imaldab kiiremat ligip\u00e4\u00e4su virtuaalsele k\u00f5vakettale ja aitab v\u00e4ltida faili fragmenteerimist;<\/li>\n<li>d\u00fcnaamiline m\u00e4lu eraldamine. T\u00e4iendavate rakenduste installimisel eraldatakse m\u00e4lumahtu d\u00fcnaamiliselt neile, kuni saavutatakse maksimaalne maht, mis on ette n\u00e4htud.<\/li>\n<\/ul>\n<p><\/p>\n<p>Mida rohkem <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/et\/vps\/\"   title=\"virtuaalmasinate\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2012\">virtuaalmasinate<\/a> serverisse paigutatakse, seda rohkem ruumi nad v\u00f5tavad ning n\u00f5uavad pidevat keskkonna toetust, mis on vajalik teie rakenduse toimimiseks.<\/p>\n<p><\/p>\n<p><strong>Docker<\/strong> on konteinerite p\u00f5hjal rakenduste loomise tarkvara. Konteinerid ja <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/et\/vps\/abuzoustojchivye-vps\/\"   title=\"virtuaalmasinaid\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4214\">virtuaalmasinaid<\/a> omavad sarnaseid eeliseid, kuid t\u00f6\u00f6tavad erinevalt. Konteinerid v\u00f5tavad v\u00e4hem ruumi, kuna taaskasutavad suuremat hulka \u00fchiseid host-s\u00fcsteemi ressursse kui VM-id, kuna erinevalt VM-idest tagab see virtualiseerimise ops\u00fcsteemi tasemel, mitte riistvara tasemel. See l\u00e4henemine tagab v\u00e4iksema m\u00e4lumahtu, kiirema juurutamise ja lihtsama skaleerimise.<\/p>\n<p><\/p>\n<p>Konteiner pakub t\u00f5husamat rakenduste kapseldamise mehhanismi, pakkudes vajalikke liideseid host-s\u00fcsteemile. See v\u00f5imalus v\u00f5imaldab konteineritel jagada s\u00fcsteemi tuuma, kus iga konteiner t\u00f6\u00f6tab nagu eraldi protsess p\u00f5hiosas, millel on oma m\u00e4lu piirkondade kogum (oma virtuaalne aadressiruum). Kuna iga konteineri virtuaalne aadressiruum on ainulaadne, ei saa andmed, mis kuuluvad erinevatesse m\u00e4lu piirkondadesse, \u00fcksteist muuta.<br \/>\nDocker'i natiivne operatsioonis\u00fcsteem on Linux (Dockerit saab kasutada ka Windowsis ja MacOS-is), mis kasutab selle p\u00f5hieeliseid, mis v\u00f5imaldavad tal korraldada tuumade jagamist. Docker'i konteinerite k\u00e4ivitamine Windowsis toimub Linuxi operatsioonis\u00fcsteemiga virtuaalmasinas, kuna konteinerid jagavad host-s\u00fcsteemi OS-i ja nende peamine OS on Linux.<\/p>\n<p><\/p>\n<h3 id=\"konteyner---kak-eto-rabotaet\">Konteiner \u2014 kuidas see toimib?<\/h3>\n<p><\/p>\n<p><strong>Konteiner<\/strong> on rakenduse tasemel abstraktsioon, mis \u00fchendab koodi ja s\u00f5ltuvused. Konteinerid luuakse alati piltidest, lisades kirjutatav \u00fclemine kiht ja initsialiseerides erinevaid parameetreid. Kuna konteineril on oma kirjutuskiht ja k\u00f5ik muudatused salvestatakse sellesse kihti, saavad mitmed konteinerid \u00fchiselt kasutada \u00fchte ja sama p\u00f5hikujutist.<\/p>\n<p><\/p>\n<p>Iga konteinerit saab konfigureerida projektis docker-compose asuva faili kaudu, mis on seotud p\u00f5hilahendusega \u2014 docker-compose.yml. Seal saab m\u00e4\u00e4rata erinevaid parameetreid, nagu konteineri nimi, sadamad, identifikaatorid, ressursside piirangud, s\u00f5ltuvused teistest konteineritest. Kui konteineri nime seadistustes ei m\u00e4\u00e4rata, loob Docker igal korral uue konteineri, andes sellele nime juhuslikult.<\/p>\n<p><\/p>\n<p>Kui konteiner k\u00e4ivitatakse pildist, monteerib Docker failis\u00fcsteemi lugemiseks ja kirjutamiseks allpool asuvate kihtide peale. Just siin k\u00e4ivitatakse k\u00f5ik protsessid, mida soovime, et meie Docker konteiner t\u00e4idaks. <\/p>\n<p><\/p>\n<p>Kui Docker k\u00e4ivitab konteineri esmakordselt, on algne lugemis-kirjutuskiht t\u00fchi. Kui muudatusi tehakse, rakendatakse need sellele kihile; n\u00e4iteks, kui soovite faili muuta, kopeeritakse see all olevast ainult lugemiseks m\u00f5eldud kihist lugemis-kirjutuskihti.<br \/>\nA failiversioon, mis on saadaval ainult lugemiseks, j\u00e4\u00e4b endiselt alles, kuid n\u00fc\u00fcd on see peidetud koopia alla. Andmete salvestamiseks, s\u00f5ltumata konteineri eluts\u00fcklist, kasutatakse mahtusid. Mahud initsialiseeritakse konteineri loomisel.<\/p>\n<p><\/p>\n<h3 id=\"kak-obraz-svyazan-s-konteynerom\">Kuidas on pilt seotud konteineriga?<\/h3>\n<p><\/p>\n<p><strong>T\u00fc\u00fcp<\/strong> \u2014 iga konteineri peamine element. Pilt luuakse projektile lisatud Dockerfile'ist ja see esindab failis\u00fcsteemide (kihtide) kogumit, mis on omavahel kuhjatud ja koos gruppeeritud, ning need on ainult loetavad; maksimaalne kihtide arv on 127.<\/p>\n<p><\/p>\n<p>Iga pildi aluseks on baasimage, mille m\u00e4\u00e4rab k\u00e4sk FROM \u2014 sisendpunkt pildi koostamisel Dockerfile'is. Iga kiht on ainult lugemiseks m\u00f5eldud ja esindab \u00fchte k\u00e4sku, mis muudab failis\u00fcsteemi, nagu on kirjas Dockerfile'is.<br \/>\nKorras piltide \u00fchendamiseks kasutab Docker Advanced multi layered Union failis\u00fcsteemi (AuFS, mis on ehitatud UnionFS-i p\u00f5hjal), mis v\u00f5imaldab erinevatel failidel ja kaustadel erinevatest failikihtidest l\u00e4bipaistvalt kattuda, luues \u00fchendatud failis\u00fcsteemi.<\/p>\n<p><\/p>\n<p>Kihtidel on metainformatsioon, mis v\u00f5imaldab salvestada iga kihi kohta seotud teavet t\u00f6\u00f6 ajal ja kokkupanekul. Iga kiht sisaldab viidet j\u00e4rgmisele kihile, kui kihil ei ole viidet, siis on see pildi \u00fclemine kiht.<\/p>\n<p><\/p>\n<p><strong>Dockerfile v\u00f5ib sisaldada selliseid k\u00e4ske nagu:<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>FROM \u2014 sisendpunkt pildi koostamisel;<\/li>\n<li>MAINTAINER \u2014 pildi omaniku nimi;<\/li>\n<li>RUN \u2014 k\u00e4su t\u00e4itmine pildi koostamise k\u00e4igus;<\/li>\n<li>ADD \u2014 hostifaili kopeerimine uude pilti, kui m\u00e4\u00e4rata failide URL, laadib Docker selle m\u00e4\u00e4ratud katalooge;<\/li>\n<li>ENV \u2014 keskkonnamuutujad;<\/li>\n<li>CMD \u2014 k\u00e4ivitab uue konteineri loomise pildi alusel;<\/li>\n<li>ENTRYPOINT \u2014 k\u00e4sk t\u00e4idetakse konteineri k\u00e4ivitamisel.<\/li>\n<li>WORKDIR \u2014 t\u00f6\u00f6kaust k\u00e4su CMD t\u00e4itmiseks.<\/li>\n<li>USER \u2014 m\u00e4\u00e4rab UID loodavale konteinerile, mis p\u00f5hineb pildil.<\/li>\n<li>VOLUME \u2014 mountib hosti kausta konteinerisse.<\/li>\n<li>EXPOSE \u2014 komplekt pordidest, mida konteiner kuulab.<\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"kak-rabotaet-unionfs\">Kuidas UnionFS t\u00f6\u00f6tab?<\/h3>\n<p><\/p>\n<p><strong>UnionFS<\/strong> \u2014 teeninduslik stekkfailis\u00fcsteem (FS) Linuxi ja FreeBSD jaoks. Antud FS rakendab kirjutamise koopia mehhanismi (Copy-On-Write, COW). UnionFS-i t\u00f6\u00f6\u00fcksus on kiht, iga kiht tuleb vaadata kui eraldi t\u00e4ielikku failis\u00fcsteemi, millel on kataloogide hierarhia alates juurest. UnionFS loob \u00fchendatud mount'i teistele failis\u00fcsteemidele ja v\u00f5imaldab kasutajale l\u00e4bipaistvalt liita erinevate failis\u00fcsteemide faile ja katalooge (mida nimetatakse harudeks) \u00fchte seotud failis\u00fcsteemi.<\/p>\n<p><\/p>\n<p>Sama teede sisu kataloogid kuvatakse koos \u00fchises \u00fchendatud kataloogis (\u00fches nimede ruumis) saadud failis\u00fcsteemis. <\/p>\n<p><\/p>\n<p><strong>UnionFS liidab kihid, j\u00e4rgides j\u00e4rgmisi p\u00f5him\u00f5tteid:<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>\u00fcks kiht muutub \u00fclemiseks kihiks, teine ja j\u00e4rgnevad on alumised kihid;<\/li>\n<li>kasutajale on kihtide objektid kergesti k\u00e4ttesaadavad '\u00fclemalt alla', see t\u00e4hendab, et kui n\u00f5utud objekt on '\u00fclemises' kihis, siis see tagastatakse, olenemata objekti olemasolust 'alumises' kihis; vastasel juhul tagastatakse 'alumise' kihi objekt; kui n\u00f5utud objekti ei ole seal ega seal, tagastatakse viga 'Sellist faili v\u00f5i katalooge ei ole';<\/li>\n<li>t\u00f6\u00f6kihiks on '\u00fclemine', st k\u00f5ik kasutaja tegevused andmete muutmisel kajastuvad ainult \u00fclemise kihi peal, m\u00f5jutamata alumiste tasemete sisu.<\/li>\n<\/ul>\n<p><\/p>\n<p>Docker on k\u00f5ige levinum konteineritehnoloogia rakenduste t\u00f6\u00f6tamisel. See on saanud standardiks selles valdkonnas, p\u00f5hinedes cgroups'il ja nimede ruumidel, mida tagab Linuxi kernel.<\/p>\n<p><\/p>\n<p>Docker v\u00f5imaldab meil kiiresti rakendusi kasutusele v\u00f5tta ja maksimaalselt optimeerida failis\u00fcsteemi, jagades OS-i kerneli k\u00f5ikide konteinerite vahel, t\u00f6\u00f6tades nagu eraldi OS-protsessid.<\/p>\n<p>Allikas: <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.1.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\/et\/blog\/administrirovanie\/vm-ili-docker\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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\/et\/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 v\u00f5i Docker? | ProHoster","description":"Kuidas m\u00f5ista, et vajate Dockerit, mitte VM-i? Tuleb m\u00e4\u00e4ratleda, mida t\u00e4pselt soovite isoleerida.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/vm-ili-docker","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\/et\/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\/et\/wp-json\/wp\/v2\/posts\/52238","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=52238"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/52238\/revisions"}],"predecessor-version":[{"id":164089,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/52238\/revisions\/164089"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=52238"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=52238"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=52238"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}