Ejecutar Docker sin ser root

Linux Nivel Medio 21 de dic. de 2022

Docker sin sudo

Pasos para habilitar docker para que ciertos usuarios puedan usar los comandos de docker sin necesidad de ser root.

Debido a que Docker accede a ciertos recursos privilegiados del sistema (red, memoria, reglas de iptables, rutas de directorios restringidas, etc), sólo se permite al usuario root ejecutar los comandos docker.

Permitir el acceso a Docker a usuarios no root

Por defecto, Docker sólo permite al usuario root ejecutar contenedores. La solución para que otro usuario pueda pueda ejecutar contenedores, es incluir el usuario al que quieras permitir la ejecución al grupo docker, es un grupo que se crea automáticamente en la instalación de Docker.

Vamos a suponer que quieres que el usuario desarrollador ejecutar contenedores Docker.

Nuevo usuario con acceso a docker

Si el usuario no existe, deberás crearlo, para ello ejecuta el comando:

useradd -s /bin/bash -m -G docker desarrollador

Creamos el usuario, asignándole por defecto una shell con bash, se crea su directorio home y se le incluye en el grupo secundario docker.

Usuarios existentes con permiso a docker

Si el usuario ya existe simplemente debemos incluir ese usuario en el grupo de docker para permitirle la ejecución de contenedores docker:

usermod -aG docker desarrollador

Comprobación de los permisos para ejecución de docker

Ahora simplemente debemos iniciar una nueva sesión con el usuario al que hemos habilitado el acceso a docker, en nuestro caso desarrollador y verificar la configuración.

docker run hello-world

Y veremos que efectivamente funciona:

Etiquetas

Luis GuLo

🐧 SysAdmin GNU/Linux - 🐳 Docker - 🖥️ Bash Scripting - 🐪 Perl - 🐬 MySQL - 👥 Formador de TI - 👥 Formador de SysAdmin's - 💢 Ansible - ☁️ Cloud Computing - ❤️ Debian GNU/Linux