7 votos

¿Es posible usar docker sin sudo?

Según las respuestas de esta pregunta acerca de la ventana acoplable, se ejecuta como un usuario no root es tan fácil como añadir el usuario no root nombre de usuario a la docker de grupo, y salir y regresar. Y efectivamente, cuando la he usado como sudo de la hello-world imagen que salió bien. Pero para otra prueba de imagen llamado whalefortune todavía se me pone la access denied de error, vea a continuación.

No es generalmente posible ejecutar ventana acoplable como la no-root? Estoy usando Ubuntu 19.04, que es una versión posterior de los ejemplos, y no se menciona de una posible violación de la seguridad que ejecutan los trabajadores portuarios como los que no son root.

Mi idea era correr nvidia-ventana acoplable como un usuario normal, sería posible (o incluso una buena idea)?

$ sudo docker run --rm hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete 
Digest:   sha256:6540fc08ee6e6b7b63468dc3317e3303aae178cb8a45ed3123180328bcc1d20f
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
  1. The Docker client contacted the Docker daemon.
  2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64)
  3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading.
  4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.

To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/

For more examples and ideas, visit:
https://docs.docker.com/get-started/

$ docker run --rm dbkdoc/whalefortune
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.40/containers/create: 
dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.

7voto

singrium Puntos 113

Si usted no desea escribir el prólogo de la ventana acoplable comando con sudo, crear un Grupo de Unix llamado ventana acoplable y agregar usuarios. Cuando la ventana acoplable demonio se inicia, crea un socket de Unix accesible por los miembros de la ventana acoplable grupo.

Advertencia:

La ventana acoplable grupo otorga privilegios equivalentes para el usuario root. Para más detalles sobre cómo esto afecta a la seguridad de su sistema, consulte la ventana acoplable Demonio de la Superficie de Ataque.


Si usted todavía desea ejecutar ventana acoplable sin sudo:

  • Agregar la ventana acoplable grupo, si ya no existe:

    sudo groupadd docker
    
  • Agregar el usuario conectado "$USUARIO" a la ventana acoplable grupo. Cambiar el nombre de usuario para que coincida con su preferencia de usuario si usted no desea utilizar su usuario actual:

    sudo usermod -aG docker $USER
    
  • Hacer una newgrp docker o log in/out para activar los cambios en los grupos (Si las pruebas en una máquina virtual, puede ser necesario reiniciar la máquina virtual para que los cambios surtan efecto).

  • Puede utilizar

    docker run hello-world
    

    para comprobar si puede ejecutar la ventana acoplable sin sudo.

PS:
Si inicialmente se corrió ventana acoplable el uso de los comandos de la CLI sudo antes de añadir el usuario a la docker de grupo, puede ver el siguiente error, que indica que el ~/.docker/ directorio fue creado con permisos incorrectos debido a la sudo comandos.

WARNING: Error loading config file: /home/user/.docker/config.json -
stat /home/user/.docker/config.json: permission denied

Para solucionar este problema, quite la ~/.docker/ directorio (se vuelve a crear de forma automática, pero la configuración personalizada perdido), o el cambio de su propiedad y los permisos de uso de los siguientes comandos:

sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
sudo chmod g+rwx "$HOME/.docker" -R

Fuente: documentación de la ventana acoplable

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: