{"id":36736,"date":"2019-10-31T22:13:26","date_gmt":"2019-10-31T19:13:26","guid":{"rendered":"https:\/\/prohoster.info\/blog\/istoriya-problemy-perenosa-docker-storage-docker-root\/"},"modified":"2019-10-31T22:13:26","modified_gmt":"2019-10-31T19:13:26","slug":"istoriya-problemy-perenosa-docker-storage-docker-root","status":"publish","type":"post","link":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/istoriya-problemy-perenosa-docker-storage-docker-root","title":{"rendered":"Historia del problema de la migraci\u00f3n del almacenamiento de docker (ra\u00edz de docker)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Hace un par de d\u00edas se decidi\u00f3 trasladar el almacenamiento de docker (el directorio donde docker almacena todos los archivos de contenedores e im\u00e1genes) a una partici\u00f3n separada en uno de los servidores, que <br \/>\nten\u00eda mayor capacidad. La tarea parec\u00eda trivial y no presagiaba problemas...<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nComencemos:<\/p>\n<p>1. Detenemos y eliminamos todos los contenedores de nuestra aplicaci\u00f3n: <\/p>\n<pre><code class=\"bash\">docker-compose down<\/code><\/pre>\n<p>\nsi hay muchos contenedores y est\u00e1n en diferentes composiciones, se puede hacer as\u00ed: <\/p>\n<pre><code class=\"bash\">docker rm -f $(docker ps -q)<\/code><\/pre>\n<p>\n2. Detenemos el demonio de docker: <\/p>\n<pre><code class=\"bash\">systemctl stop docker<\/code><\/pre>\n<p>\n3. Movemos el directorio al lugar deseado: <\/p>\n<pre><code class=\"bash\">cp -r \/var\/lib\/docker \/docker\/data\/storage<\/code><\/pre>\n<p>\n4. Informamos al demonio de docker para que mire en el nuevo directorio. Aqu\u00ed hay varias opciones: o especificamos el nuevo camino al demonio a trav\u00e9s de la opci\u00f3n -g, o estamos utilizando las configuraciones de systemd. O un enlace simb\u00f3lico. No me detendr\u00e9 a describir esto, hay <noindex><a rel=\"nofollow\" href=\"https:\/\/linuxconfig.org\/how-to-move-docker-s-default-var-lib-docker-to-another-directory-on-ubuntu-debian-linux\">muchos<\/a><\/noindex> manuales en internet sobre c\u00f3mo mover la ra\u00edz de docker a un nuevo lugar.<\/p>\n<p>5. Iniciamos el demonio de docker y observamos que est\u00e9 mirando donde debe: <\/p>\n<pre><code class=\"bash\">systemctl status docker<\/code><\/pre>\n<p>\nEn una de las l\u00edneas de salida deber\u00edamos ver:<\/p>\n<pre><code class=\"bash\">\u251c\u250019493 \/usr\/bin\/dockerd --data-root=\/docker\/data\/storage<\/code><\/pre>\n<p>\nConfirmamos que hemos pasado la opci\u00f3n al demonio, ahora verifiquemos si la aplic\u00f3 (gracias a <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/inkvizitor68sl\/\" class=\"user_link\">inkvizitor68sl<\/a><\/noindex>)!<\/p>\n<pre><code class=\"bash\">docker info | awk '\/Root Dir\/ {print $NF}' <\/code><\/pre>\n<p>\n6. Iniciamos nuestra aplicaci\u00f3n: <\/p>\n<pre><code class=\"bash\">docker-compose up -d<\/code><\/pre>\n<p>\n7. Verificamos<\/p>\n<p>Y aqu\u00ed es donde empieza lo m\u00e1s interesante, la base de datos, MQ, \u00a1todo bien! La base est\u00e1 intacta, todo funciona\u2026 excepto nginx. Tenemos nuestra propia construcci\u00f3n de nginx con Kerberos y complementos. Y la revisi\u00f3n de los registros del contenedor indic\u00f3 que no pod\u00eda escribir en \/var\/tmp \u2014 Permission denied. Estoy masajeando mis sienes y tratando de analizar la situaci\u00f3n\u2026 \u00bfC\u00f3mo es posible? La imagen de docker no hab\u00eda cambiado. Solo movimos el directorio. Siempre funcion\u00f3, y ahora esto\u2026 Por experimento, entr\u00e9 manualmente en el contenedor y cambi\u00e9 los permisos de este directorio, que eran<u> root, root 755<\/u>, di <u>root, root 777<\/u>. Y todo comenz\u00f3 a funcionar\u2026 En mi cabeza reson\u00f3 el pensamiento \u2014 es una locura\u2026 Pens\u00e9, tal vez no cont\u00e9 con algo\u2026 <\/p>\n<p>Decid\u00ed que hab\u00edamos perdido los permisos de los archivos durante la transferencia. Detuvimos la aplicaci\u00f3n, el demonio de docker, eliminamos el nuevo directorio y realizamos la copia del directorio \/var\/lib\/docker usando <code>rsync -a<\/code>. <\/p>\n<p>Creo que ahora todo est\u00e1 bien, subimos docker, la aplicaci\u00f3n.<\/p>\n<p>Y... el problema persiste... Me tiembla el ojo. Corr\u00ed a la consola de mi m\u00e1quina virtual, donde ejecuto diversas pruebas. Ten\u00eda esta imagen de nginx y entr\u00e9 en el contenedor. All\u00ed, en el directorio \/var\/tmp, los permisos son root, root 777. Es decir, los mismos que tuve que establecer manualmente. Pero \u00a1las im\u00e1genes son id\u00e9nticas! <\/p>\n<p><u>Se utiliz\u00f3 el sistema de archivos xfs en todas partes.<\/u><\/p>\n<p>Compar\u00e9 usando el comando <\/p>\n<pre><code class=\"bash\">docker inspect my-nginx:12345<\/code><\/pre>\n<p>\nTodos los hashes son id\u00e9nticos, exactamente iguales. Tanto en el servidor como en mi m\u00e1quina virtual. Elimin\u00e9 la imagen local de nginx y la volv\u00ed a descargar desde el registro, que por varias razones se encuentra en la misma m\u00e1quina. Y el problema persiste... Ahora me tiembla el segundo ojo.<\/p>\n<p>Ya no recuerdo qu\u00e9 pensamientos hab\u00eda en mi cabeza, aparte de los gritos de \u00a1\u201cAAAAAA\u201d! y dem\u00e1s. Era la 1:00 AM, y recurr\u00ed a los fuentes de Docker con el fin de comprender el principio de hash de las capas de la imagen. Abr\u00ed la tercera lata de energ\u00e9tica. Y al final comprend\u00ed que el hashing solo tiene en cuenta el archivo, su contenido, pero <b>\u00a1NO LOS PERMISOS!<\/b>\u00a1Es decir, de alguna manera misteriosa, se rompieron los permisos, adem\u00e1s selinux est\u00e1 desactivado, no se utilizan acl, y no hay sticky bit! <\/p>\n<p>Elimin\u00e9 la imagen local, tambi\u00e9n elimin\u00e9 la imagen del registro de Docker y la volv\u00ed a subir. Y todo funcion\u00f3. Resulta que al transferir, los permisos se rompieron, tanto en la imagen local como en la imagen del registro. Como ya mencion\u00e9, por varias razones, este estaba en la misma m\u00e1quina. Y como resultado, en el mismo directorio \/var\/lib\/docker.<\/p>\n<p>Y anticipando la pregunta, si intent\u00e9 volver a enfocar Docker en el antiguo directorio \u2014 no, no lo intent\u00e9, lamentablemente las circunstancias no lo permitieron. Adem\u00e1s, realmente quer\u00eda resolverlo.<\/p>\n<p>Despu\u00e9s de escribir este art\u00edculo, la soluci\u00f3n del problema me parece obvia, pero en el momento de analizarlo no parec\u00eda as\u00ed. Honestamente, google\u00e9 y no encontr\u00e9 situaciones similares.<\/p>\n<p>Conclusi\u00f3n: resolv\u00ed el problema, pero no entend\u00ed la causa =(<\/p>\n<p>Si alguien sabe o tiene una idea sobre las posibles causas de este problema, \u00a1estar\u00e9 muy agradecido si lo dejan en los comentarios!<br \/>\n<br \/>Fuente: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/462013\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041d\u0435 \u0434\u0430\u043b\u0435\u0435, \u0447\u0435\u043c \u043f\u0430\u0440\u0443 \u0434\u043d\u0435\u0439 \u043d\u0430\u0437\u0430\u0434 \u0431\u044b\u043b\u043e \u0440\u0435\u0448\u0435\u043d\u043e \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0438\u0437 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0432\u044b\u043d\u0435\u0441\u0442\u0438 docker storage (\u043a\u0430\u0442\u0430\u043b\u043e\u0433, \u0433\u0434\u0435 \u0434\u043e\u043a\u0435\u0440 \u0445\u0440\u0430\u043d\u0438\u0442 \u0432\u0441\u0435 \u0444\u0430\u0439\u043b\u044b \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432, \u043e\u0431\u0440\u0430\u0437\u043e\u0432) \u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u0434\u0435\u043b, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u043b\u0430\u0434\u0430\u043b \u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0435\u043c\u043a\u043e\u0441\u0442\u044c\u044e. \u0417\u0430\u0434\u0430\u0447\u0430, \u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0431\u044b, \u0442\u0440\u0438\u0432\u0438\u0430\u043b\u044c\u043d\u0430\u044f \u0438 \u043d\u0435 \u043f\u0440\u0435\u0434\u0432\u0435\u0449\u0430\u043b\u0430 \u0431\u0435\u0434\u044b\u2026 \u041f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0435\u043c: 1. \u041e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0438 \u0443\u0431\u0438\u0432\u0430\u0435\u043c \u0432\u0441\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f: docker-compose down \u0435\u0441\u043b\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u043c\u043d\u043e\u0433\u043e, \u0438 \u043e\u043d\u0438 \u0432 [&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-36736","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=\"\u041d\u0435 \u0434\u0430\u043b\u0435\u0435, \u0447\u0435\u043c \u043f\u0430\u0440\u0443 \u0434\u043d\u0435\u0439 \u043d\u0430\u0437\u0430\u0434 \u0431\u044b\u043b\u043e \u0440\u0435\u0448\u0435\u043d\u043e \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0438\u0437 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0432\u044b\u043d\u0435\u0441\u0442\u0438 docker storage (\u043a\u0430\u0442\u0430\u043b\u043e\u0433, \u0433\u0434\u0435 \u0434\u043e\u043a\u0435\u0440 \u0445\u0440\u0430\u043d\u0438\u0442 \u0432\u0441\u0435 \u0444\u0430\u0439\u043b\u044b \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432, \u043e\u0431\u0440\u0430\u0437\u043e\u0432) \u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u0434\u0435\u043b, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u043b\u0430\u0434\u0430\u043b \u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0435\u043c\u043a\u043e\u0441\u0442\u044c\u044e.\" \/>\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\/es\/blog\/administrirovanie\/istoriya-problemy-perenosa-docker-storage-docker-root\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\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\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 docker storage (docker root) | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041d\u0435 \u0434\u0430\u043b\u0435\u0435, \u0447\u0435\u043c \u043f\u0430\u0440\u0443 \u0434\u043d\u0435\u0439 \u043d\u0430\u0437\u0430\u0434 \u0431\u044b\u043b\u043e \u0440\u0435\u0448\u0435\u043d\u043e \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0438\u0437 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0432\u044b\u043d\u0435\u0441\u0442\u0438 docker storage (\u043a\u0430\u0442\u0430\u043b\u043e\u0433, \u0433\u0434\u0435 \u0434\u043e\u043a\u0435\u0440 \u0445\u0440\u0430\u043d\u0438\u0442 \u0432\u0441\u0435 \u0444\u0430\u0439\u043b\u044b \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432, \u043e\u0431\u0440\u0430\u0437\u043e\u0432) \u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u0434\u0435\u043b, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u043b\u0430\u0434\u0430\u043b \u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0435\u043c\u043a\u043e\u0441\u0442\u044c\u044e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/istoriya-problemy-perenosa-docker-storage-docker-root\" \/>\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-31T19:13:26+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:13:26+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\udd47Historia del problema de traslado del almacenamiento de Docker (docker root) | ProHoster","description":"No hace m\u00e1s de un par de d\u00edas se decidi\u00f3 en uno de los servidores trasladar el almacenamiento de Docker (el directorio donde Docker guarda todos los archivos de contenedores e im\u00e1genes) a una partici\u00f3n separada con mayor capacidad.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/istoriya-problemy-perenosa-docker-storage-docker-root","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","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\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 docker storage (docker root) | ProHoster","og:description":"\u041d\u0435 \u0434\u0430\u043b\u0435\u0435, \u0447\u0435\u043c \u043f\u0430\u0440\u0443 \u0434\u043d\u0435\u0439 \u043d\u0430\u0437\u0430\u0434 \u0431\u044b\u043b\u043e \u0440\u0435\u0448\u0435\u043d\u043e \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0438\u0437 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0432\u044b\u043d\u0435\u0441\u0442\u0438 docker storage (\u043a\u0430\u0442\u0430\u043b\u043e\u0433, \u0433\u0434\u0435 \u0434\u043e\u043a\u0435\u0440 \u0445\u0440\u0430\u043d\u0438\u0442 \u0432\u0441\u0435 \u0444\u0430\u0439\u043b\u044b \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432, \u043e\u0431\u0440\u0430\u0437\u043e\u0432) \u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u0434\u0435\u043b, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u043b\u0430\u0434\u0430\u043b \u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0435\u043c\u043a\u043e\u0441\u0442\u044c\u044e.","og:url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/istoriya-problemy-perenosa-docker-storage-docker-root","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-31T19:13:26+00:00","article:modified_time":"2019-10-31T19:13:26+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"36736","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-22 04:38:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:39:24","updated":"2026-01-22 04:38:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/36736","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=36736"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/36736\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=36736"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=36736"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=36736"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}