{"id":31915,"date":"2019-10-31T21:43:56","date_gmt":"2019-10-31T18:43:56","guid":{"rendered":"https:\/\/prohoster.info\/blog\/polzovatel-v-docker\/"},"modified":"2019-10-31T21:43:56","modified_gmt":"2019-10-31T18:43:56","slug":"polzovatel-v-docker","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/polzovatel-v-docker","title":{"rendered":"Pou\u017e\u00edvate\u013e v Dockeri","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/aak74\/posts\/\">Andrej Kopylov<\/a><\/noindex>, n\u00e1\u0161 technick\u00fd riadite\u013e, m\u00e1 r\u00e1d, akt\u00edvne pou\u017e\u00edva a propaguje Docker. V novom \u010dl\u00e1nku hovor\u00ed, ako vytvori\u0165 pou\u017e\u00edvate\u013eov v Dockeri. Spr\u00e1vna pr\u00e1ca s nimi, pre\u010do by pou\u017e\u00edvate\u013eov nemali necha\u0165 s pr\u00e1vami root a ako vyrie\u0161i\u0165 probl\u00e9m s nes\u00faladom indik\u00e1torov v Dockerfile.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>V\u0161etky procesy v kontejnere bud\u00fa pracova\u0165 pod pou\u017e\u00edvate\u013eom root, pokia\u013e ho \u0161peci\u00e1lne neuviediete. Zd\u00e1 sa to ve\u013emi pohodln\u00e9, ke\u010f\u017ee tento pou\u017e\u00edvate\u013e nem\u00e1 \u017eiadne obmedzenia. Pr\u00e1ca pod rootom nie je spr\u00e1vna z poh\u013eadu bezpe\u010dnosti. Ak na miestnom po\u010d\u00edta\u010di nikto v zdravej mysli nepracuje s rootov\u00fdmi pr\u00e1vami, mnoh\u00ed sp\u00fa\u0161\u0165aj\u00fa procesy pod rootom v kontejnere.<\/p>\n<p><\/p>\n<p>V\u017edy existuj\u00fa chyby, ktor\u00e9 umo\u017enia \u0161kodliv\u00e9mu softv\u00e9ru dosta\u0165 sa z kontajnera na hostite\u013esk\u00fd po\u010d\u00edta\u010d. Predpokladaj\u00fac to najhor\u0161ie, mus\u00edme zabezpe\u010di\u0165 spustenie procesov vo vn\u00fatri kontajnera od pou\u017e\u00edvate\u013ea, ktor\u00fd nem\u00e1 \u017eiadne pr\u00e1va na hostite\u013eskom stroji.<\/p>\n<p><\/p>\n<h2>Vytvorenie pou\u017e\u00edvate\u013ea<\/h2>\n<p><\/p>\n<p>Vytvorenie pou\u017e\u00edvate\u013ea v kontejnere sa nel\u00ed\u0161i od jeho vytvorenia v linuxov\u00fdch distrib\u00faci\u00e1ch. Pre r\u00f4zne z\u00e1kladn\u00e9 obrazy sa v\u0161ak pr\u00edkazy m\u00f4\u017eu l\u00ed\u0161i\u0165.<\/p>\n<p><\/p>\n<p>Pre distrib\u00facie zalo\u017een\u00e9 na debiane je v Dockerfile potrebn\u00e9 prida\u0165:<\/p>\n<pre><code class=\"nginx\">RUN groupadd --gid 2000 node \n  &amp;&amp; useradd --uid 2000 --gid node --shell \/bin\/bash --create-home node<\/code><\/pre>\n<p><\/p>\n<p>Pre alpine:<\/p>\n<p><\/p>\n<pre><code class=\"nginx\">RUN addgroup -g 2000 node \n    &amp;&amp; adduser -u 2000 -G node -s \/bin\/sh -D node\n<\/code><\/pre>\n<p><\/p>\n<h2>Spustenie procesov od pou\u017e\u00edvate\u013ea<\/h2>\n<p><\/p>\n<p>Na spustenie v\u0161etk\u00fdch nasleduj\u00facich procesov od pou\u017e\u00edvate\u013ea s UID 2000 vykonajte:<\/p>\n<p><\/p>\n<pre><code class=\"nginx\">USER 2000<\/code><\/pre>\n<p><\/p>\n<p>Na spustenie v\u0161etk\u00fdch nasleduj\u00facich procesov od pou\u017e\u00edvate\u013ea node vykonajte:<\/p>\n<p><\/p>\n<pre><code class=\"nginx\">USER node<\/code><\/pre>\n<p><\/p>\n<p>Podrobnej\u0161ie v <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/engine\/reference\/builder\/#user\">dokumen\u00e1cie<\/a><\/noindex>.<\/p>\n<p><\/p>\n<h2>Zdie\u013eanie objemov<\/h2>\n<p><\/p>\n<p>Pri zdie\u013ean\u00ed objemov do kontajnera zabezpe\u010dte, aby mal pou\u017e\u00edvate\u013e mo\u017enos\u0165 \u010d\u00edta\u0165 a (alebo) p\u00edsa\u0165 s\u00fabory. Na to musia UID (GID) pou\u017e\u00edvate\u013ea v kontejnere a pou\u017e\u00edvate\u013ea mimo kontajnera, ktor\u00fd m\u00e1 pr\u00edslu\u0161n\u00e9 pr\u00e1va na pr\u00edstup k s\u00faboru, zodpoveda\u0165. Pri tom nez\u00e1le\u017e\u00ed na men\u00e1ch pou\u017e\u00edvate\u013eov.<\/p>\n<p><\/p>\n<p>\u010casto na linuxovom po\u010d\u00edta\u010di m\u00e1 pou\u017e\u00edvate\u013e UID a GID rovn\u00e9 1000. Tieto identifik\u00e1tory sa pride\u013euj\u00fa prv\u00e9mu pou\u017e\u00edvate\u013eovi po\u010d\u00edta\u010da.<\/p>\n<p><\/p>\n<p>Zisti\u0165 svoje identifik\u00e1tory je jednoduch\u00e9:<\/p>\n<p><\/p>\n<pre><code class=\"nginx\">id<\/code><\/pre>\n<p><\/p>\n<p>Z\u00edskate vy\u010derp\u00e1vaj\u00face inform\u00e1cie o svojom pou\u017e\u00edvate\u013eovi.<br \/>\nNahradte 2000 v pr\u00edkladoch svoj\u00edm identifik\u00e1torom a v\u0161etko bude v poriadku.<\/p>\n<p><\/p>\n<h2>Priradenie UID a GID pou\u017e\u00edvate\u013ea<\/h2>\n<p><\/p>\n<p>Ak bol pou\u017e\u00edvate\u013e vytvoren\u00fd sk\u00f4r, ale je potrebn\u00e9 zmeni\u0165 identifik\u00e1tory, m\u00f4\u017eete to urobi\u0165 takto:<\/p>\n<p><\/p>\n<pre><code class=\"nginx\">RUN usermod -u 1000 node \n  &amp;&amp; groupmod -g 1000 node\n<\/code><\/pre>\n<p><\/p>\n<p>Ak pou\u017e\u00edvate z\u00e1kladn\u00fd obraz alpine, je potrebn\u00e9 nain\u0161talova\u0165 bal\u00edk shadow:<\/p>\n<p><\/p>\n<pre><code class=\"nginx\">RUN apk add --no-cache shadow<\/code><\/pre>\n<p><\/p>\n<h2>Prenos identifik\u00e1tora pou\u017e\u00edvate\u013ea do kontajnera pri vytv\u00e1ran\u00ed obrazu<\/h2>\n<p><\/p>\n<p>Ak sa v\u00e1\u0161 identifik\u00e1tor a identifik\u00e1tory v\u0161etk\u00fdch, ktor\u00ed pracuj\u00fa na projekte, zhoduj\u00fa, sta\u010d\u00ed uvies\u0165 tento identifik\u00e1tor v Dockerfile. Av\u0161ak \u010dasto sa identifik\u00e1tory pou\u017e\u00edvate\u013eov nezhoduj\u00fa.<\/p>\n<p><\/p>\n<p>Ako dosiahnu\u0165 to, \u010do chcete, nie je hne\u010f jasn\u00e9. Pre m\u0148a to bolo naj\u0165a\u017e\u0161ie v procese osvojovania dockeru. Mnoh\u00ed pou\u017e\u00edvatelia dockera neuva\u017euj\u00fa o tom, \u017ee existuj\u00fa r\u00f4zne f\u00e1zy \u017eivota obrazu. Najprv sa obraz zostavuje na to sa pou\u017e\u00edva Dockerfile. Pri spusten\u00ed kontajnera z obrazu sa Dockerfile u\u017e nepou\u017e\u00edva.<\/p>\n<p><\/p>\n<p>Vytv\u00e1ranie pou\u017e\u00edvate\u013eov by sa malo dia\u0165 pri zostavovan\u00ed obrazu. To ist\u00e9 plat\u00ed aj pre ur\u010denie pou\u017e\u00edvate\u013ea, pod ktor\u00fdm sa sp\u00fa\u0161\u0165aj\u00fa procesy. To znamen\u00e1, \u017ee nejak\u00fdm sp\u00f4sobom mus\u00edme prenies\u0165 do kontajnera UID (GID).<\/p>\n<p><\/p>\n<p>Na pou\u017e\u00edvanie extern\u00fdch premenn\u00fdch v Dockerfile sl\u00fa\u017eia direkt\u00edvy <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/engine\/reference\/builder\/#env\">ENV<\/a><\/noindex> a\u00a0<noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/engine\/reference\/builder\/#arg\">ARG<\/a><\/noindex>. Podrobn\u00e9 porovnanie direkt\u00edv <noindex><a rel=\"nofollow\" href=\"https:\/\/vsupalov.com\/docker-arg-env-variable-guide\/\">tu<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Dockerfile<\/p>\n<p><\/p>\n<pre><code class=\"nginx\">ARG UID=1000\nARG GID=1000\nENV UID=${UID}\nENV GID=${GID}\nRUN usermod -u $UID node \n  &amp;&amp; groupmod -g $GID node\n<\/code><\/pre>\n<p><\/p>\n<p>Prenies\u0165 argumenty cez docker-compose m\u00f4\u017eete takto:<\/p>\n<p><\/p>\n<p>docker-compose<\/p>\n<p><\/p>\n<pre><code class=\"nginx\">build:\n  context: .\/src\/backend\n  args:\n    UID: 1000\n    GID: 1000\n<\/code><\/pre>\n<p><\/p>\n<p>P.S. Na osvojenie v\u0161etk\u00fdch tajomstiev dockera nesta\u010d\u00ed \u010d\u00edta\u0165 dokument\u00e1ciu alebo \u010dl\u00e1nky. Je potrebn\u00e9 ve\u013ea praktikova\u0165, treba c\u00edti\u0165 docker.<\/p>\n<p>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/448480\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0410\u043d\u0434\u0440\u0435\u0439 \u041a\u043e\u043f\u044b\u043b\u043e\u0432, \u043d\u0430\u0448 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440, \u043b\u044e\u0431\u0438\u0442, \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0438\u00a0\u043f\u0440\u043e\u043f\u0430\u0433\u0430\u043d\u0434\u0438\u0440\u0443\u0435\u0442 Docker. \u0412 \u043d\u043e\u0432\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043e\u043d \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432\u00a0Docker. \u041f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043d\u0438\u043c\u0438, \u043f\u043e\u0447\u0435\u043c\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439\u00a0\u043d\u0435\u043b\u044c\u0437\u044f \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u00a0root \u043f\u0440\u0430\u0432\u0430\u043c\u0438 \u0438, \u043a\u0430\u043a \u0440\u0435\u0448\u0438\u0442\u044c \u0437\u0430\u0434\u0430\u0447\u0443 \u043d\u0435\u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u044f \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u0432 \u0432\u00a0Dockerfile. \u0412\u0441\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u0432\u00a0\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0438\u0437-\u043f\u043e\u0434 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f root, \u0435\u0441\u043b\u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0435\u0433\u043e \u043d\u0435\u00a0\u0443\u043a\u0430\u0437\u0430\u0442\u044c. \u042d\u0442\u043e \u043a\u0430\u0436\u0435\u0442\u0441\u044f \u043e\u0447\u0435\u043d\u044c \u0443\u0434\u043e\u0431\u043d\u043e, \u0432\u0435\u0434\u044c \u0443\u00a0\u044d\u0442\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\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-31915","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0410\u043d\u0434\u0440\u0435\u0439 \u041a\u043e\u043f\u044b\u043b\u043e\u0432, \u043d\u0430\u0448 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440, \u043b\u044e\u0431\u0438\u0442, \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0438 \u043f\u0440\u043e\u043f\u0430\u0433\u0430\u043d\u0434\u0438\u0440\u0443\u0435\u0442 Docker.\" \/>\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\/sk\/blog\/administrirovanie\/polzovatel-v-docker\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"sk_SK\" \/>\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\udd47\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0432 Docker | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0410\u043d\u0434\u0440\u0435\u0439 \u041a\u043e\u043f\u044b\u043b\u043e\u0432, \u043d\u0430\u0448 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440, \u043b\u044e\u0431\u0438\u0442, \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0438 \u043f\u0440\u043e\u043f\u0430\u0433\u0430\u043d\u0434\u0438\u0440\u0443\u0435\u0442 Docker.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/polzovatel-v-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-10-31T18:43:56+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:43:56+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\udd47Pou\u017e\u00edvate\u013e v Docker | ProHoster","description":"Andrej Kopylov, n\u00e1\u0161 technick\u00fd riadite\u013e, m\u00e1 r\u00e1d, akt\u00edvne pou\u017e\u00edva a propaguje Docker.","canonical_url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/polzovatel-v-docker","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sk_SK","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\udd47\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0432 Docker | ProHoster","og:description":"\u0410\u043d\u0434\u0440\u0435\u0439 \u041a\u043e\u043f\u044b\u043b\u043e\u0432, \u043d\u0430\u0448 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440, \u043b\u044e\u0431\u0438\u0442, \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0438 \u043f\u0440\u043e\u043f\u0430\u0433\u0430\u043d\u0434\u0438\u0440\u0443\u0435\u0442 Docker.","og:url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/polzovatel-v-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-10-31T18:43:56+00:00","article:modified_time":"2019-10-31T18:43:56+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"31915","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-01-21 08:25:21","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:08:10","updated":"2026-01-21 08:25:21","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/31915","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/comments?post=31915"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/31915\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media?parent=31915"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/categories?post=31915"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/tags?post=31915"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}