Instalación de Docker en Ubuntu ¡es muy fácil! Cualquiera, incluso los novatos, puede instalarlo en 15 minutos. Después de instalar Docker, noté que no podía realizar la mayoría de las operaciones de Docker como un usuario normal. Tuve que ejecutar Docker como usuario "raíz" o con permiso "sudo" cada vez. Cada vez que intento ejecutar Docker como usuario no root o sin permiso sudo, aparece el siguiente error:
Obtuve el permiso denegado al intentar conectarme al socket del demonio Docker en unix:///var/run/docker.sock:Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/version:dial unix /var/run/docker.sock:connect:permiso denegado
Por ejemplo, quería verificar la versión de Docker como usuario normal usando el comando:
$ versión docker
Y recibo este mensaje de error:
Cliente:Docker Engine - CommunityVersion:19.03.8API version:1.40Go version:go1.12.17Git commit:afacb8b7f0Builded:Wed Mar 11 01:25:46 2020OS/Arch:linux/amd64Experimental:falsePermiso obtenido denegado mientras intenta conectarse al socket del demonio Docker en unix:///var/run/docker.sock:Obtenga http://%2Fvar%2Frun%2Fdocker.sock/v1.40/version:marque unix /var/run/ docker.sock:conectar:permiso denegado
Pero cuando ejecuto el mismo comando con permiso sudo;
$ versión sudo docker
Muestra todos los detalles de la versión de Docker actualmente instalada como se muestra en el siguiente resultado.
Cliente:Docker Engine - Versión de la comunidad:19.03.8 Versión de la API:1.40 Versión de Go:go1.12.17 Compromiso de Git:afacb8b7f0 Construido:miércoles 11 de marzo 01:25:46 2020 OS/Arch:linux/amd64 Experimental:falseServer:Docker Engine - Community Engine:Versión:19.03.8 Versión de API:1.40 (versión mínima 1.12) Versión de Go:go1.12.17 Compromiso de Git:afacb8b7f0 Construido:miércoles 11 de marzo 01:24:19 2020 OS/Arch:linux/amd64 Experimental:false containerd:Versión:1.2.13 GitCommit:7ad184331fa3e55e52b890ea95e65ba581ae3429 runc:Versión:1.0.0-rc10 GitCommit:dc9208a3303feef5b3839f4323d9beb36df0a9dd docker-init:Versión:0.83:GitCommit
Después de buscar en la página de documentación de Docker, me di cuenta de que el demonio de Docker se vincula a un socket de Unix en lugar de a un puerto TCP de manera predeterminada. Dado que ese socket Unix es propiedad de la raíz usuario, el demonio de Docker solo se ejecutará como usuario raíz. Por lo tanto, los usuarios normales no pueden ejecutar la mayoría de los comandos de Docker.
Si desea ejecutar Docker como usuario no root en Linux, debe realizar los siguientes pasos. ¡Probé esto en el servidor Ubuntu 18.04 y funcionó bien! También debería funcionar en otras distribuciones de Linux.
Ejecutar Docker como usuario no root en Linux
Para corregir el error de permiso de Docker denegado y usar Docker como usuario no root, cree un grupo llamado "docker" con el siguiente comando:
$ sudo groupadd dockerA continuación, agregue su usuario a la docker grupo:
$ sudo usermod -aG docker $USUARIODespués de agregar el usuario al grupo docker, cierre la sesión y vuelva a iniciarla para aplicar los cambios.
Alternativamente, ejecute el siguiente comando para aplicar los cambios a los grupos:
$ ventana acoplable newgrpA partir de ahora, el usuario normal (no root) podrá usar Docker sin permisos de sudo.
Déjame ejecutar los siguientes comandos como usuario normal:
$ versión docker$ docker ejecutar hola-mundoSalida de muestra:
¿Ver? Ahora puedo ejecutar ambos comandos de Docker sin el permiso sudo.
Por si acaso, ya ejecutó algunos comandos de Docker con el permiso 'sudo' antes de agregar su usuario al grupo de Docker, probablemente verá un error como el siguiente.
ADVERTENCIA:error al cargar el archivo de configuración:/home/user/.docker/config.json -stat /home/user/.docker/config.json:permiso denegadoEl mensaje de error anterior indica que su ~/.docker/ El directorio se creó con permisos incorrectos debido a los comandos 'sudo'. Para solucionar este problema, cambie la propiedad y los permisos de este directorio con los siguientes comandos:
$ sudo chown "$USUARIO":"$USUARIO" /home/"$USUARIO"/.docker -R$ sudo chmod g+rwx "$HOME/.docker" -RCierra la sesión y vuelve a iniciarla para que esto surta efecto.
Si aún no soluciona el problema, es posible que deba eliminar su ~/.docker/ directorio. Se volverá a crear automáticamente, pero perderá todas las configuraciones personalizadas, si las hay.
Espero que esto ayude.