tag run remove name library hub example docker docker-compose

docker - run - Cómo arreglar la ventana acoplable: se obtuvo permiso denegado



docker tag example (8)

Instalé Docker en mi máquina donde tengo Ubuntu OS. Después de que instalé docker, cuando ejecuto

sudo docker run hello-world

Todo está bien, pero quiero ocultar la palabra sudo para acortar el comando.

Si escribo el comando sin la palabra sudo

docker run hello-world

Eso muestra lo siguiente:

docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.35/containers/create: dial unix /var/run/docker.sock: connect: permission denied.See ''docker run --help''.

Sucedió lo mismo cuando trato de hacer

docker-compose up

¿Cómo puedo resolver esto?


  1. Agregar usuario actual al grupo docker

sudo usermod -aG docker $USER

  1. Cambie los permisos del zócalo del acoplador para poder conectarse al demonio del /var/run/docker.sock

sudo chmod 666 /var/run/docker.sock


  1. agregar grupo acoplable

$ sudo groupadd docker

  1. agregue su usuario actual al grupo acoplable

$ sudo usermod -aG docker $USER

3. Cambiar sesión al grupo acoplable

$newgrp - docker

  1. correr

$docker run hello-world


Después de una actualización obtuve el permiso denegado. Hacer los pasos de los pasos posteriores a la instalación ''mkb'' no ha cambiado nada porque mi usuario ya estaba en el grupo ''docker''; Lo vuelvo a intentar dos veces sin éxito.

Después de una hora de búsqueda, la siguiente solución finalmente funcionó:

sudo chmod 666 /var/run/docker.sock

La solución vino de Olshansk .

Parece que la actualización ha recreado el socket sin el permiso suficiente para el grupo ''docker''.

Problemas: este agujero de seguridad abierto de chmod duro y después de cada reinicio, este error comienza una y otra vez y debe volver a ejecutar el comando anterior cada vez. Quiero una solución de una vez por todas. Para eso tienes dos problemas:

1) Problema con SystemD : el socket se creará solo con el propietario ''root'' y el grupo ''root''. Puede verificar este primer problema con este comando:

ls -l /lib/systemd/system/docker.socket

Si todo esto es bueno, debería ver ''root / docker'' no ''root / root''.

2) Problema con el inicio de sesión gráfico : https://superuser.com/questions/1348196/why-my-linux-account-only-belongs-to-one-group Puede verificar este segundo problema con este comando:

groups

Si todo está correcto, debería ver el grupo acoplable en la lista. Si no prueba el comando

sudo su $USER -c groups

si ve entonces el grupo de acopladores es por el error.

Soluciones: si logra obtener una solución para el inicio de sesión gráfico, esto debería hacer el trabajo:

sudo chgrp docker /lib/systemd/system/docker.socket sudo chmod g+w /lib/systemd/system/docker.socket

Pero si no puede manejar este error, una solución no tan mala podría ser esta:

sudo chgrp $USER /lib/systemd/system/docker.socket sudo chmod g+w /lib/systemd/system/docker.socket

Esto funciona porque usted está en un entorno gráfico y probablemente sea el único usuario en su computadora. En ambos casos, necesita reiniciar (o un sudo chmod 666 /var/run/docker.sock )


Para solucionar ese problema, busqué dónde está instalado mi docker y docker-compose. En mi caso, docker se instaló en /usr/bin/docker y docker-compose se instaló en /usr/local/bin/docker-compose path. Luego, escribo esto en mi terminal:

A la ventana acoplable:

sudo chmod +x /usr/bin/docker

Para docker-compose :

sudo chmod +x /usr/local/bin/docker-compose

Ahora no necesito escribir en mi ventana acoplable de comandos la palabra sudo

/ ************************************************* ********************** /

ERRATA:

La mejor solución de este problema fue comentada por @mkasberg. Cito el comentario:

That might work, you might run into issues down the road. Also, it''s a security vulnerability. You''d be better off just adding yourself to the docker group, as the docs say. sudo groupadd docker, sudo usermod -aG docker $USER. Docs: https://docs.docker.com/install/linux/linux-postinstall/

¡Muchas gracias!


Si desea ejecutar Docker como usuario no root, debe agregarlo al grupo de Docker.

  1. Crea el grupo de acopladores.

    $ sudo groupadd docker

  2. Agregue su usuario al grupo de acopladores.

    $ sudo usermod -aG docker $USER

  3. Cerrar sesión e iniciar sesión nuevamente y ejecutar.

    $ docker run hello-world

Tomado de la documentación oficial de la ventana acoplable: docs.docker.com/install/linux/linux-postinstall/…


funciona como un encanto para este error

sudo chmod 666 /var/run/docker.sock


lightdm y kwallet se envían con un error que parece no pasar los grupos suplementarios al iniciar sesión. Para resolver esto, también, además de sudo usermod -aG docker $USER , tuve que comentar

auth optional pam_kwallet.so auth optional pam_kwallet5.so

a

#auth optional pam_kwallet.so #auth optional pam_kwallet5.so

en /etc/pam.d/lightdm antes de reiniciar , para que el docker-group tenga efecto.

error: https://bugs.launchpad.net/lightdm/+bug/1781418 y aquí: https://bugzilla.redhat.com/show_bug.cgi?id=1581495


usa este comando

sudo usermod -aG docker $USER

luego reinicie su computadora, esto funcionó para mí.