{"id":50556,"date":"2026-01-12T18:49:09","date_gmt":"2026-01-12T17:49:09","guid":{"rendered":"\/es\/tutoriales\/?p=50556"},"modified":"2026-01-12T18:51:11","modified_gmt":"2026-01-12T17:51:11","slug":"como-solucionar-el-error-docker-permission-denied","status":"publish","type":"post","link":"\/es\/tutoriales\/como-solucionar-el-error-docker-permission-denied","title":{"rendered":"C\u00f3mo solucionar el error \u00abDocker permission denied\u00bb en Ubuntu"},"content":{"rendered":"<p>El error de permiso denegado de Docker suele producirse cuando <strong>tu cuenta de usuario no tiene acceso al socket del daemon de Docker o a los archivos y directorios necesarios<\/strong>.<\/p><p>Docker utiliza estas restricciones para evitar accesos no autorizados, pero pueden interrumpir tu flujo de trabajo cuando configuras entornos de desarrollo en Ubuntu.<\/p><p>Para arreglar el error &laquo;Docker permission denied&raquo;, sigue estas seis soluciones probadas:<\/p><ol class=\"wp-block-list\">\n<li><strong>Modificar la pertenencia a un grupo de usuarios:<\/strong> a&ntilde;ade tu cuenta de usuario al grupo <strong>docker<\/strong> para poder ejecutar comandos Docker sin <strong>sudo<\/strong>.<\/li>\n\n\n\n<li><strong>Ajustar la propiedad de archivos y directorios:<\/strong> actualiza la propiedad de los archivos de configuraci&oacute;n y los vol&uacute;menes montados para garantizar que el motor Docker pueda leer y escribir datos.<\/li>\n\n\n\n<li><strong>Inspeccionar los permisos de los sockets:<\/strong> comprueba los niveles de permiso del socket Docker Unix para confirmar que el canal de comunicaci&oacute;n no est&aacute; restringido.<\/li>\n\n\n\n<li><strong>Actualizar los derechos de ejecuci&oacute;n de scripts:<\/strong> aseg&uacute;rate de que los comandos Dockerfile y los scripts <strong>ENTRYPOINT<\/strong> tienen permisos de ejecuci&oacute;n para evitar fallos en el arranque del contenedor.<\/li>\n\n\n\n<li><strong>Configurar el acceso al hardware:<\/strong> permite que los contenedores accedan a dispositivos espec&iacute;ficos, como dispositivos USB o GPU, para resolver problemas de permisos relacionados con el hardware.<\/li>\n\n\n\n<li><strong>Actualizar el daemon Docker:<\/strong> reinicia el servicio Docker y tu sesi&oacute;n de usuario para aplicar todos los cambios de permisos y grupos.<\/li>\n<\/ol><p>\n\n\n\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-requisitos-previos\">Requisitos previos<\/h2><p>Antes de solucionar el error &laquo;Docker permission denied&raquo; aseg&uacute;rate de que tu sistema Linux cumple los requisitos para cambiar la configuraci&oacute;n administrativa.<\/p><ul class=\"wp-block-list\">\n<li><strong>Acceso administrativo:<\/strong> necesitas privilegios <strong>sudo<\/strong> o root para modificar los grupos de usuarios y los permisos de archivos.<\/li>\n\n\n\n<li><strong>Verificaci&oacute;n del grupo de usuarios:<\/strong> comprueba tu pertenencia a grupos ejecutando el comando <strong>groups $USER<\/strong>.<\/li>\n<\/ul><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"69eb9db427fba\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"258\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-groups-user-8.png\/public\" alt=\"Salida de terminal que muestra la pertenencia actual a grupos de usuarios de Linux\" class=\"wp-image-50547\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-groups-user-8.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-groups-user-8.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-groups-user-8.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-groups-user-8.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Agrandar\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ul class=\"wp-block-list\">\n<li><strong>Instalaci&oacute;n de Docker:<\/strong> confirma que <a href=\"\/es\/tutoriales\/como-instalar-y-usar-docker-en-ubuntu\">Docker est&aacute; instalado<\/a> y en ejecuci&oacute;n ejecutando <strong>docker &ndash;version<\/strong>.<\/li>\n<\/ul><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"69eb9db429a79\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"117\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-docker-version-1-8.png\/public\" alt=\"Salida de terminal que confirma la versi&oacute;n de Docker instalada\" class=\"wp-image-50549\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-docker-version-1-8.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-docker-version-1-8.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-docker-version-1-8.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-docker-version-1-8.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Agrandar\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p>Aunque estas instrucciones se centran en Ubuntu, tambi&eacute;n se aplican a la mayor&iacute;a de las distribuciones basadas en Debian.<\/p><h2 class=\"wp-block-heading\" id=\"h-1-anade-tu-usuario-al-grupo-docker\">1. A&ntilde;ade tu usuario al grupo Docker<\/h2><p>La causa m&aacute;s com&uacute;n del error de permiso denegado es que tu cuenta de usuario no forma parte del grupo <strong>docker<\/strong>.<\/p><p>Por defecto, el daemon Docker se ejecuta como un servicio propiedad de root. Solo los usuarios del grupo <strong>docker<\/strong> pueden comunicarse con &eacute;l sin usar <strong>sudo<\/strong>.<\/p><p>Para solucionar este problema, a&ntilde;ade tu usuario actual al grupo <strong>docker<\/strong>:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo usermod -aG docker $USER<\/pre><p>Este comando actualiza tu cuenta de usuario a&ntilde;adiendo <strong>(-a)<\/strong> al grupo especificado <strong>(-G<\/strong>). Como resultado, tu usuario obtiene permiso para acceder al socket del daemon Docker y ejecutar <a href=\"\/es\/tutoriales\/comandos-docker\">comandos Docker<\/a> directamente.<\/p><p>Para aplicar la nueva pertenencia a un grupo, cierra la sesi&oacute;n y vuelve a iniciarla.<\/p><p>Despu&eacute;s de volver a conectarte, confirma que el cambio ha surtido efecto:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">id -nG<\/pre><p>La salida debe incluir <strong>docker<\/strong> en la lista de grupos.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"69eb9db42b531\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"263\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-id-ng-docker-highlighted-8.png\/public\" alt=\"Salida del terminal mostrando la pertenencia al grupo docker resaltada\" class=\"wp-image-50550\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-id-ng-docker-highlighted-8.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-id-ng-docker-highlighted-8.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-id-ng-docker-highlighted-8.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-id-ng-docker-highlighted-8.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Agrandar\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p>Si quieres hacer la prueba inmediatamente sin cerrar la sesi&oacute;n, ejec&uacute;tala:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">newgrp docker<\/pre><p>Este comando aplica el cambio de grupo solo a la sesi&oacute;n de terminal actual.<\/p><h2 class=\"wp-block-heading\" id=\"h-2-arregla-problemas-de-permisos-de-archivos-y-directorios\">2. Arregla problemas de permisos de archivos y directorios<\/h2><p>Si a&ntilde;adir tu usuario al grupo no resuelve el problema, es posible que el error se deba a permisos incorrectos en los archivos de configuraci&oacute;n o en los vol&uacute;menes montados.<\/p><p>Docker necesita acceso de lectura y escritura a tus archivos de configuraci&oacute;n, especialmente <strong>config.json<\/strong>.<\/p><p>En primer lugar, comprueba los permisos de tu directorio local de configuraci&oacute;n de Docker:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ls -l ~\/.docker\/<\/pre><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"69eb9db42ce65\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"127\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-ls-l-docker-root-root-highlighted-8.png\/public\" alt=\"Salida de terminal que muestra la propiedad root de los archivos de configuraci&oacute;n de Docker\" class=\"wp-image-50551\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-ls-l-docker-root-root-highlighted-8.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-ls-l-docker-root-root-highlighted-8.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-ls-l-docker-root-root-highlighted-8.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-ls-l-docker-root-root-highlighted-8.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Agrandar\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p>Si la salida muestra que los archivos son propiedad de <strong>root<\/strong> en lugar de tu usuario, cambia la propiedad con el <a href=\"\/es\/tutoriales\/comando-chown-linux\">comando chown<\/a>:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo chown -R \"$USER\":\"$USER\" \"$HOME\/.docker\"<\/pre><p>Este comando cambia recursivamente la propiedad del directorio <strong>.docker<\/strong> a tu usuario actual.<\/p><p>A continuaci&oacute;n, soluciona los problemas de permisos relacionados con los vol&uacute;menes montados. Cuando montas un directorio host en un contenedor, el usuario del contenedor necesita permiso para leer o escribir en ese directorio.<\/p><p>Por ejemplo, si ejecutas un contenedor con un volumen montado:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker run -v ~\/data:\/app\/data ubuntu<\/pre><p>Aseg&uacute;rate de que el directorio <strong>~\/data<\/strong> del host tiene los permisos correctos. Puedes conceder acceso de lectura y escritura al usuario <strong>(u)<\/strong> con el siguiente <a href=\"\/es\/tutoriales\/cambiar-permisos-y-propietarios-linux-linea-de-comandos\/\">comando chmod<\/a>:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">chmod u+rw ~\/data<\/pre><p>Esto garantiza que el usuario propietario del directorio tiene permisos suficientes para gestionar los datos dentro del volumen montado.<\/p><h2 class=\"wp-block-heading\" id=\"h-3-comprueba-los-permisos-de-socket-docker\">3. Comprueba los permisos de socket Docker<\/h2><p>El daemon Docker se comunica a trav&eacute;s de un socket Unix ubicado en <strong>\/var\/run\/docker.sock<\/strong>. Si este socket tiene permisos incorrectos, el cliente Docker no puede enviar comandos al daemon.<\/p><p>Comprueba los permisos actuales del socket:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ls -l \/var\/run\/docker.sock<\/pre><p>Deber&iacute;as ver una salida similar a la siguiente:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">srw-rw---- 1 root docker 0 Dic 18 10:00 \/var\/run\/docker.sock<\/pre><p>Esta salida muestra que <strong>root<\/strong> posee el socket y el grupo <strong>docker<\/strong> tiene acceso de lectura y escritura. Si ves esta salida y tu usuario pertenece al grupo <strong>docker<\/strong>, la configuraci&oacute;n del socket es correcta.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"69eb9db42e7cc\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"71\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-ls-l-var-run-docker-sock-root-docker-highlighted-8.png\/public\" alt=\"Salida de terminal mostrando docker.sock propiedad de root y del grupo docker\" class=\"wp-image-50552\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-ls-l-var-run-docker-sock-root-docker-highlighted-8.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-ls-l-var-run-docker-sock-root-docker-highlighted-8.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-ls-l-var-run-docker-sock-root-docker-highlighted-8.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-ls-l-var-run-docker-sock-root-docker-highlighted-8.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Agrandar\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p>Si el grupo no es <strong>docker<\/strong> o los permisos difieren, no los cambies manualmente ejecutando <strong>chmod 666 \/var\/run\/docker.sock<\/strong>, especialmente en entornos de producci&oacute;n.<\/p><p>Este comando crea un grave riesgo de seguridad al dar a todos los usuarios del sistema acceso al daemon Docker, lo que efectivamente otorga control a nivel de ra&iacute;z sobre el host.<\/p><p>En su lugar, conf&iacute;a en la pertenencia a un grupo a&ntilde;adiendo tu usuario al grupo <strong>docker<\/strong>. El demonio Docker establece autom&aacute;ticamente los permisos de socket correctos al iniciarse.<\/p><h2 class=\"wp-block-heading\" id=\"h-4-corrige-los-permisos-de-los-scripts-dockerfile-o-entrypoint\">4. Corrige los permisos de los scripts Dockerfile o ENTRYPOINT<\/h2><p>Un error &laquo;Docker permission denied&raquo; tambi&eacute;n puede ocurrir dentro de un contenedor cuando el script de entrada carece de permisos de ejecuci&oacute;n.<\/p><p>Este problema suele aparecer cuando se mueven scripts desde un sistema de archivos que no es Linux, como Windows, al contexto de compilaci&oacute;n de Docker. En estos casos, el bit ejecutable puede perderse.<\/p><p>Cuando esto ocurre, el contenedor falla al arrancar porque no puede ejecutar el script definido en la instrucci&oacute;n <strong>ENTRYPOINT<\/strong> o <strong>CMD<\/strong>.<\/p><p>Para solucionar el problema, a&ntilde;ade una instrucci&oacute;n <strong>RUN<\/strong> despu&eacute;s de la l&iacute;nea <strong>COPY<\/strong> en tu Dockerfile. Esto concede permisos de ejecuci&oacute;n al script.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">RUN chmod +x \/usr\/local\/bin\/entrypoint.sh<\/pre><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"69eb9db43082a\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"630\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-nano-dockerfile-run-chmod-entrypoint-sh-highlighted-8.png\/public\" alt=\"Dockerfile abierto en nano con chmod entrypoint script resaltado\" class=\"wp-image-50553\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-nano-dockerfile-run-chmod-entrypoint-sh-highlighted-8.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-nano-dockerfile-run-chmod-entrypoint-sh-highlighted-8.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-nano-dockerfile-run-chmod-entrypoint-sh-highlighted-8.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-nano-dockerfile-run-chmod-entrypoint-sh-highlighted-8.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Agrandar\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p>Esto garantiza que el script siga siendo ejecutable independientemente de tus permisos en la m&aacute;quina anfitriona. A menudo necesitar&aacute;s este paso cuando construyas im&aacute;genes personalizadas que dependan de scripts de inicio.<\/p><h2 class=\"wp-block-heading\" id=\"h-5-concede-acceso-de-dispositivo-a-contenedores-docker\">5. Concede acceso de dispositivo a contenedores Docker<\/h2><p>Si un contenedor necesita interactuar con dispositivos de hardware, como una unidad USB, una webcam o una GPU, puede que veas un error de permiso denegado para una ruta de dispositivo como <strong>\/dev\/ttyUSB0<\/strong>.<\/p><p>Por defecto, los contenedores se ejecutan de forma aislada y no pueden acceder a los dispositivos host. Para permitir el acceso, pasa expl&iacute;citamente el dispositivo cuando <a href=\"\/es\/tutoriales\/como-crear-contenedor-docker\">inicies el contenedor<\/a> utilizando el indicador <strong>&ndash;device<\/strong>:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker run --device=\/dev\/ttyUSB0 my-image<\/pre><p>Si el contenedor necesita permisos m&aacute;s amplios pero no acceso total al dispositivo, concede capacidades espec&iacute;ficas de Linux con el indicador <strong>&ndash;cap-add<\/strong>:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker run --cap-add=SYS_ADMIN mi-imagen<\/pre><p>Este enfoque sigue el principio del menor privilegio: conceder s&oacute;lo las capacidades que el contenedor necesita realmente. Entre las funciones comunes se incluyen <strong>NET_ADMIN<\/strong> para la configuraci&oacute;n de la red y <strong>SYS_PTRACE<\/strong> para la depuraci&oacute;n.<\/p><p>Cuando los dispositivos o capacidades espec&iacute;ficos no son suficientes, puedes utilizar el indicador <strong>&ndash;privileged<\/strong>:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker run --privileged mi-imagen<\/pre><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"69eb9db4321c4\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"184\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-docker-run-privileged-my-image-8.png\/public\" alt=\"Comando de terminal que ejecuta un contenedor con la bandera privilegiada\" class=\"wp-image-50554\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-docker-run-privileged-my-image-8.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-docker-run-privileged-my-image-8.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-docker-run-privileged-my-image-8.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-docker-run-privileged-my-image-8.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Agrandar\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p>Esta opci&oacute;n proporciona al contenedor acceso completo a todos los dispositivos host y desactiva la mayor&iacute;a de las funciones de aislamiento de seguridad.<\/p><p>Los contenedores iniciados en este modo pueden obtener control a nivel de ra&iacute;z sobre el sistema anfitri&oacute;n. Utiliza <strong>&ndash;privileged<\/strong> s&oacute;lo en entornos de desarrollo locales de confianza o cuando no existan alternativas m&aacute;s seguras.<\/p><p>Para cargas de trabajo de producci&oacute;n, opta siempre por <strong>&ndash;device<\/strong> para hardware espec&iacute;fico o<strong>&ndash;cap-add<\/strong> para capacidades espec&iacute;ficas.<\/p><h2 class=\"wp-block-heading\" id=\"h-6-reinicia-docker-y-prueba-tu-configuracion\">6. Reinicia Docker y prueba tu configuraci&oacute;n<\/h2><p>Despu&eacute;s de aplicar los cambios en los grupos de usuarios o las correcciones de permisos, reinicia el servicio Docker para que el daemon reconozca la configuraci&oacute;n actualizada.<\/p><p>Reinicia Docker con <strong>systemctl<\/strong>:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo systemctl restart docker<\/pre><p>Una vez reiniciado el servicio, verifica la correcci&oacute;n ejecutando el contenedor <strong>hello-world<\/strong> est&aacute;ndar sin utilizar <strong>sudo<\/strong>:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker run hello-world<\/pre><p>Si la imagen se descarga y ejecuta correctamente y muestra un mensaje de bienvenida, habr&aacute;s resuelto el problema de los permisos.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"69eb9db433f33\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"505\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-run-hello-world-download-complete-hello-from-docker-highlighted-8.png\/public\" alt=\"Salida del contenedor Docker hello-world confirmando el &eacute;xito de la instalaci&oacute;n\" class=\"wp-image-50555\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-run-hello-world-download-complete-hello-from-docker-highlighted-8.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-run-hello-world-download-complete-hello-from-docker-highlighted-8.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-run-hello-world-download-complete-hello-from-docker-highlighted-8.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/01\/terminal-run-hello-world-download-complete-hello-from-docker-highlighted-8.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Agrandar\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p>Si el error persiste, reinicia todo el sistema para asegurarte de que todas las pertenencias a grupos y los cambios de sesi&oacute;n surtan efecto:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo reboot<\/pre><h2 class=\"wp-block-heading\" id=\"h-que-deberias-aprender-despues-en-docker\">&iquest;Qu&eacute; deber&iacute;as aprender despu&eacute;s en Docker?<\/h2><p>Ahora que tu instalaci&oacute;n de Docker funciona sin errores de permisos, est&aacute;s listo para trabajar con contenedores con confianza y seguridad.<\/p><p>Solucionar los problemas de entorno es un primer paso esencial en tu camino de aprendizaje de Docker. Esto te permite centrarte en crear e implantar aplicaciones en lugar de solucionar problemas de configuraci&oacute;n.<\/p><p>Como siguiente paso, profundiza en los conceptos b&aacute;sicos de Docker. Profundiza en la gesti&oacute;n de im&aacute;genes, los ciclos de vida de los contenedores, Docker Compose, la persistencia de datos y las redes de contenedores.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>El error de permiso denegado de Docker suele producirse cuando tu cuenta de usuario no tiene acceso al socket del daemon de Docker o a los archivos y directorios necesarios. Docker utiliza estas restricciones para evitar accesos no autorizados, pero pueden interrumpir tu flujo de trabajo cuando configuras entornos de desarrollo en Ubuntu. Para arreglar [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/es\/tutoriales\/como-solucionar-el-error-docker-permission-denied\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":353,"featured_media":50472,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"rank_math_title":"C\u00f3mo arreglar el error \"Docker permission denied\" en Ubuntu","rank_math_description":"Aprende a solucionar \"Docker permission denied\" en Ubuntu ajustando permisos, grupos de usuario y configuraci\u00f3n del daemon paso a paso.\n","rank_math_focus_keyword":"docker permission denied","footnotes":""},"categories":[5700],"tags":[],"class_list":["post-50556","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-vps"],"hreflangs":[{"locale":"es-ES","link":"https:\/\/www.hostinger.com\/es\/tutoriales\/como-solucionar-el-error-docker-permission-denied","default":1}],"acf":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/posts\/50556","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/users\/353"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/comments?post=50556"}],"version-history":[{"count":6,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/posts\/50556\/revisions"}],"predecessor-version":[{"id":50662,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/posts\/50556\/revisions\/50662"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/media\/50472"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/media?parent=50556"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/categories?post=50556"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/tags?post=50556"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}