Cómo usar Docker sin sudo en Ubuntu
En este tutorial, le mostraré cómo ingresar el comando docker sin usar el comando sudo en la máquina Ubuntu Linux.
Si usa Docker para pruebas y desarrollo en su máquina local, probablemente haya experimentado esos mensajes.
$ docker run hello-world Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.27/containers/json: dial unix /var/run/docker.sock: connect: permission denied
Probablemente evitaría esto usando sudo antes del comando docker o registrando como root usando su. Pero no tiene que ser asi. Es posible ejecutarlo como usuario normal y hay dos formas. Una es agregar su usuario al grupo de la ventana acoplable y otra es permitirle escribir en el socket Unix utilizado por la ventana acoplable. Vamos a mostrar ambas formas de hacer esto en Ubuntu 18.04 LTS.
1) Agregar usuario al grupo de docker
Cree un nuevo grupo si no existe. Este comando probablemente fallará ya que el grupo tal vez ya exista, pero ejecutémoslo de todos modos.
sudo groupadd docker
A continuación, debemos agregar el usuario actual al grupo.
sudo gpasswd -a $USER docker
Si no desea agregar un usuario que haya iniciado sesión actualmente, sino otro, cambie $ USER por el nombre de usuario de ese usuario. Tenga en cuenta que el usuario debe tener permiso para usar sudo.
Por último, necesitamos volver a cargar el shell para que se apliquen nuevas configuraciones de grupo. Para esto, puede reiniciar o puede cerrar la sesión y volver a iniciarla, pero ambos son enfoques nucleares cuando en realidad desea algo más sutil, así que hagamos este comando.
newgrp docker
Ahora estamos listos para ejecutar el programa de prueba de la ventana acoplable sin sudo
docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world ca4f61b1923c: Pull complete Digest: sha256:97ce6fa4b6cdc0790cda65fe7290b74cfebd9fa0c9b8c38e979330d547d22ce1 Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly.
2) listas de ACL
Hay otra forma de hacer esto, y son las listas de ACL.
Aún con la sesión iniciada como usuario sudoer, necesitamos ejecutar este comando
sudo setfacl -m user:bobby:rw /var/run/docker.sock
Por supuesto, cambie bobby por el usuario real que desea usar en la ventana acoplable.
Ahora puede iniciar sesión como este usuario.
su bobby
Ahora podemos usar la ventana acoplable, por ejemplo, ingrese este comando
docker ps
Debería enumerar los contenedores si tiene algunos. De lo contrario, al menos no mostrará el error de permiso denegado.
Leer también:
- Usuario de Linux Agregar comando y todas sus opciones
- Comando de Linux Groupadd – Agregar nuevos grupos
Eso es todo, dos formas de tener Docker sin sudo. Le ahorrará escribir y hará que el uso de la ventana acoplable sea más rápido. Gracias por leer, y háganos saber en los comentarios si conoce otras opciones.