Programa
Añadir usuarios al grupo Docker: Guía para profesionales de los datos
¿Alguna vez has tenido que escribir sudo antes de cada comando Docker? Este es el artículo para ti.
Por defecto, Docker bloquea el acceso a su demonio, permitiendo que sólo root y los miembros del grupo Docker ejecuten comandos. Esto mantiene tu sistema más seguro, pero es molesto cuando trabajas con contenedores todo el día. El grupo Docker existe exactamente por esta razón: a te permite utilizar Docker sin que las contraseñas sudo te ralenticen.
Cuando te añadas al grupo Docker, notarás la diferencia enseguida. Puedes ejecutar docker build
, docker run
, y otros comandos sin que se produzcan esos errores de permiso o se te pida la contraseña.
En este artículo, aprenderás exactamente cómo añadir usuarios al grupo Docker en diferentes sistemas, qué riesgos de seguridad hay que tener en cuenta y cómo proteger tu sistema a la vez que facilitas el uso de Docker.
> Los LLM se están llevando todo el bombo en 2025. Sigue esta guía paso a paso para desplegar aplicaciones LLM utilizando Docker.
Comprender el Grupo Docker
Cuando empieces a trabajar con Docker, pronto te encontrarás con problemas de permisos si no has configurado bien las cosas.
Analicemos qué es realmente el grupo Docker y por qué es importante para tu flujo de trabajo.
Definición y funcionalidad
El grupo docker es un grupo de usuarios del sistema que da permiso a sus miembros para utilizar el demonio Docker sin necesidad de privilegios sudo.
Cuando instalas Docker en sistemas Linux, este grupo suele crearse automáticamente. El archivo de socket de Docker (/var/run/docker.sock
) es propiedad de root pero tiene permisos de grupo establecidos para el grupo docker, que es como funciona este control de acceso.
Los usuarios de este grupo pueden crear imágenes, ejecutar contenedores, gestionar redes y realizar otras operaciones de Docker sin anteponer sudo a los comandos. Esto significa escribir menos y no tener que introducir contraseñas cuando trabajes con contenedores. Si intentas ejecutar comandos Docker sin estar en este grupo, obtendrás errores de "permiso denegado", lo que en última instancia ralentizará tu progreso.
Implicaciones de seguridad de la pertenencia a un grupo
Añadir usuarios al grupo Docker conlleva riesgos de seguridad reales que no debes ignorar.
Los miembros del grupo Docker pueden obtener privilegios de root en el sistema anfitrión. Esto ocurre porque Docker te permite montar directorios del host en los contenedores, incluidos los directorios sensibles del sistema. Un usuario con acceso a Docker puede crear un contenedor que monte todo el sistema de archivos raíz y modificar cualquier archivo del host.
Las vulnerabilidades de fuga de contenedores plantean otro riesgo, ya que podrían permitir a los atacantes escapar del aislamiento de los contenedores.
Sólo debes añadir usuarios de confianza al grupo Docker, e incluso entonces, considéralo equivalente a darles acceso root. Muchos profesionales de la seguridad recomiendan limitar la pertenencia al grupo Docker sólo a aquellos usuarios que la necesiten absolutamente para su trabajo diario.
Aplicación paso a paso
Ahora que entiendes qué es el grupo Docker y sus implicaciones, vamos a ensuciarnos las manos con la configuración real.
Crear el grupo Docker
En la mayoría de los casos, no necesitarás crear el grupo Docker manualmente ya que se crea automáticamente durante la instalación de Docker. Puedes comprobar si el grupo existe ejecutando
grep docker /etc/group
Imagen 1 - Comprobación de la existencia del grupo Docker
Si, por alguna razón, el grupo no existe (como en mi caso), puedes crearlo con este comando (sólo para Linux):
sudo groupadd docker
Este comando crea el grupo Docker en tu sistema, pero está limitadoa los sistemas operativos Linux.
Para macOS, puedes seguir las instrucciones oficiales de Apple, ya que el grupo se crea a través de la GUI. El proceso es similar para los sistemas operativos Windows.
Después de seguir los pasos, deberías ver tu grupo creado:
Imagen 2 - Comprobación de la existencia del grupo Docker (2)
Añadir usuarios al grupo
Para añadir tu usuario actual al grupo Docker, ejecuta este comando en sistemas operativos Linux:
sudo usermod -aG docker $USER
La bandera -a
significa "añadir" y -G
especifica el grupo al que quieres añadir al usuario. La variable $USER
utiliza automáticamente tu nombre de usuario actual.
En macOS y Windows, puedes añadir usuarios al grupo a través de la Configuración del sistema o del Panel de control: sólo tienes que activar un interruptor para añadir todos los usuarios que desees:
Imagen 3 - Añadir usuarios al grupo
Después de añadirte al grupo, debes desconectarte y volver a conectarte para que los cambios surtan efecto. Tu sesión actual no reconocerá la nueva pertenencia al grupo hasta que te desconectes completamente. En algunos sistemas, puede que tengas que reiniciar:
sudo reboot
Para verificar que tu usuario ahora forma parte del grupo de docker, ejecuta
groups
Deberías ver "docker" entre los miembros de tu grupo:
Imagen 4 - Visualización de los grupos de usuarios
Solución de problemas comunes
Si sigues obteniendo errores de "permiso denegado" después de añadirte al grupo, puede que tengas que arreglar los permisos del socket Docker:
sudo chown root:docker /var/run/docker.sock
sudo chmod 660 /var/run/docker.sock
Otro problema común ocurre cuando se reinicia el servicio Docker, lo que puede restablecer los permisos de los sockets. Si Docker se inició después de que hicieras los cambios de grupo, prueba a reiniciar el servicio Docker:
sudo systemctl restart docker
En caso de problemas persistentes de permisos, comprueba que la configuración de tu servicio Docker es correcta. En algunos sistemas, Docker puede estar configurado para utilizar un nombre de grupo o una ubicación de socket diferentes. Puedes consultar el archivo de configuración del demonio Docker en /etc/docker/daemon.json
o los archivos de servicio en /lib/systemd/system/docker.service
.
Recuerda que los cambios de permisos que realices se aplicarán a tu sesión de inicio de sesión actual sólo después de que cierres la sesión y vuelvas a entrar en. Esta es la causa número uno de los problemas de "he hecho los cambios, pero sigue sin funcionar".
Consideraciones de seguridad y mitigación
Añadir usuarios al grupo Docker puede crear riesgos de seguridad, de los que debes ser consciente. Examinemos estos riesgos y lo que puedes hacer para proteger tus sistemas.
Riesgos de la pertenencia a un grupo Docker
Pertenecer a un grupo Docker es prácticamente lo mismo que tener acceso root a tu sistema. No es una exageración, es la realidad del funcionamiento de Docker.
Cuando estás en el grupo Docker, puedes ejecutar contenedores que monten partes sensibles del sistema de archivos de tu host. Por ejemplo, este sencillo comando te da acceso completo para modificar cualquier archivo de tu host:
docker run -it --rm -v /:/hostroot alpine chroot /hostroot
También puedes cambiar la configuración del demonio Docker, crear contenedores privilegiados o utilizar el modo de red host para eludir el aislamiento de red. Estas capacidades permiten a los usuarios malintencionados (o a las aplicaciones comprometidas con acceso a Docker) apoderarse completamente de tu sistema anfitrión.
Hay un par de riesgos potenciales más que debes conocer:
- Ejecutar contenedores que accedan directamente a dispositivos hardware.
- Vinculación a puertos de red con numeración baja.
- Iniciar contenedores con perfiles seccomp personalizados que desactiven los controles de seguridad.
- Crear contenedores que utilicen el espacio de nombres de proceso del anfitrión.
Se puede abusar de cada uno de ellos para obtener privilegios elevados o interrumpir las operaciones del sistema.
Buenas prácticas para mitigar los riesgos
Para reducir estos riesgos, sigue el principio del menor privilegio-sólo concede la pertenencia al grupo Docker a los usuarios que la necesiten absolutamente. Si varias personas necesitan utilizar un sistema compartido, considera la posibilidad de crear una cuenta de usuario independiente sólo para las operaciones de Docker.
Elmodo sin raízde Docker ofrece una alternativa más segura al enfoque del grupo Docker. El modo sin raíz te permite ejecutar el demonio Docker y los contenedores como usuario no raíz, sin necesidad de pertenecer a ningún grupo especial:
# Install Docker in rootless mode
dockerd-rootless-setuptool.sh install
# Start the rootless Docker daemon
systemctl --user start docker
Losespacios de nombres deusuario proporcionan otra capa de seguridad al asignar los UID de los contenedores a un rango diferente en el host. Esto significa que aunque un contenedor se ejecute como root (UID 0), ese proceso se asigna a un usuario sin privilegios en el host:
# Add to /etc/docker/daemon.json
{
"userns-remap": "default"
}
Considera la posibilidad de utilizar laasignación estática de UID/GID para los usuarios de contenedores, con el fin de mantener un mapeo de identidades coherente. En tus archivos Docker, crea usuarios específicos con ID predeterminados:
# Create a user with a static UID/GID
RUN groupadd -g 10001 appgroup && \
useradd -u 10000 -g appgroup -s /bin/bash appuser
# Switch to that user
USER appuser
Audita regularmente quién es miembro del grupo Docker con comandos como:
getent group docker
Y elimina a los usuarios que ya no necesiten acceso:
sudo gpasswd -d username docker
En combinación, estos enfoques te proporcionan a ti y a tu equipo la comodidad de la pertenencia a un grupo Docker, al tiempo que minimizan los riesgos de seguridad que introduce.
Configuración avanzada y alternativas
Si buscas formas distintas de gestionar el acceso a Docker más allá del enfoque estándar de pertenencia a grupos, tienes opciones. Exploremos algunas configuraciones avanzadas y alternativas que podrían ajustarse mejor a tus requisitos de seguridad.
Fortalecimiento de la seguridad de Dockerfile
Puedes incorporar la seguridad directamente en tus archivos Docker para reducir los riesgos, incluso cuando los usuarios tengan acceso al grupo Docker.
En el siguiente ejemplo, utilizaré compilaciones multietapa para mantener pequeñas tus imágenes de Python y reducir la superficie de ataque.
Para seguir, crea estos archivos:
app.py:
from flask import Flask, jsonify
app = Flask(__name__)
@app.route("/api/health")
def health():
return jsonify({"status": "healthy"})
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8000, debug=True)
requisitos.txt:
flask==3.1.0
Dockerfile:
FROM python:3.13-slim AS builder
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
FROM python:3.13-slim
WORKDIR /app
COPY --from=builder /usr/local/lib/python3.13/site-packages /usr/local/lib/python3.13/site-packages
COPY . .
RUN useradd -r -u 1000 -g users appuser
USER appuser
CMD ["python", "app.py"]
En pocas palabras, este Dockerfile
incluye una instrucción USER
con un usuario no root y copia el contenido relevante (paquetes Python) de un paso de compilación anterior.
> Si eres nuevo en la contenedorización de aplicaciones, no temas: nuestra guía completa te ayudará.
Puedes construir y ejecutar un contenedor de este tipo con los siguientes comandos:
# Build the image
docker build -t my-python-app .
# Run the container
docker run --cap-drop=ALL --cap-add=NET_BIND_SERVICE my-python-app
Imagen 5 - Ejecutar un contenedor con privilegios mínimos
El comando recién añadido - --cap-drop=ALL
- elimina todas las capacidades Linux del contenedor (restringe los privilegios), mientras que el comando --cap-add=NET_BIND_SERVICE
vuelve a añadir la capacidad NET_BIND_SERVICE
, que permite al contenedor enlazar con puertos de numeración baja.
Estas técnicas limitan lo que puede hacer un contenedor, incluso si alguien con acceso al grupo Docker intenta utilizarlo indebidamente.
sudo como alternativa
Si no quieres añadir usuarios al grupo Docker, utilizar sudo es una alternativa viable. Este enfoque te da más control y una pista de auditoría de los comandos Docker.
Puedes crear una entrada sudoers personalizada que permita a usuarios específicos ejecutar sólo comandos Docker sin contraseña:
# Add to /etc/sudoers.d/docker
username ALL=(root) NOPASSWD: /usr/bin/docker
Para una mejor usabilidad, crea alias en tu archivo .bashrc
o .zshrc
:
alias docker='sudo docker'
alias docker-compose='sudo docker-compose'
Este enfoque sudo ofrece mayor seguridad porque
- Obtendrás todos los comandos Docker registrados en los logs del sistema.
- Puedes restringir qué subcomandos Docker están permitidos.
- Los usuarios no pueden modificar la configuración del demonio Docker.
La desventaja es un poco más de mecanografía y posibles problemas con herramientas que esperan acceso directo a Docker.
Consideraciones sobre Windows
Windows gestiona los permisos de Docker de forma diferente a Linux. En lugar del grupo docker, Windows utiliza el grupo docker-users.
Para añadir un usuario al grupo docker-users en Windows, haz lo siguiente:
- Abre Administración de equipos (haz clic con el botón derecho del ratón en Inicio y selecciona "Administración de equipos").
- Ve a Herramientas del Sistema > Usuarios y Grupos Locales > Grupos.
- Haz doble clic en "docker-users".
- Haz clic en "Añadir" e introduce el nombre de usuario.
- Haz clic en "Aceptar" y cierra Gestión de ordenadores.
Imagen 6 - Grupos de usuarios en Windows
Alternativamente, puedes utilizar PowerShell con privilegios de administrador:
Add-LocalGroupMember -Group "docker-users" -Member "username"
Después de añadir un usuario, tendrá que desconectarse y volver a conectarse para que los cambios surtan efecto, igual que en Linux.
También hay que tener en cuenta que Windows ofrece funciones de seguridad adicionales mediante el Control de Aplicaciones de Windows Defender y los modos de aislamiento de Hyper-V que no están disponibles en Linux. Para entornos de alta seguridad en Windows, puedes utilizar estas funciones para crear límites más fuertes entre los contenedores y el host.
> Los profesionales de los datos necesitan Docker en 2025, y esta guía te mostrará cómo aprenderlo.
Resumen de los grupos de usuarios de Docker
Ahora ya tienes una idea completa de cómo añadir usuarios al grupo Docker y por qué es importante. Recapitulemos lo que hemos tratado.
Añadir usuarios al grupo Docker facilita mucho el trabajo con contenedores al eliminar la necesidad de comandos sudo. Es un proceso sencillo: comprueba si el grupo existe, añade tu usuario con usermod -aG docker $USER
, y luego cierra la sesión y vuelve a entrar. Si tienes problemas, comprueba los permisos del socket y reinicia Docker.
Pero no olvides que dar a alguien acceso al grupo Docker es casi lo mismo que darle la contraseña de root. Cualquiera de este grupo puede montar todo tu sistema de archivos, instalar software o incluso modificar archivos del sistema a través de contenedores. Por eso es crucial ser selectivo sobre quién obtiene este acceso.
Entonces, ¿cuál es el enfoque adecuado para tu entorno?
En general, para los programadores que trabajan en sus propias máquinas, la pertenencia a un grupo Docker está bien. Para servidores compartidos o entornos de producción, considera alternativas como el modo sin raíz, los espacios de nombres de usuario o el uso de sudo con comandos limitados. Y hagas lo que hagas, sigue siempre las mejores prácticas de seguridad en tus archivos Docker, utilizando usuarios no root y eliminando las capacidades innecesarias.
Vigila quién tiene acceso al grupo Docker realizando auditorías periódicas. Con el tiempo, las personas cambian de función, abandonan los equipos o simplemente dejan de necesitar determinados permisos. Una comprobación rápida con getent group docker
puede ayudarte a detectar usuarios que ya no deberían estar ahí.
Si quieres aprender más sobre Docker y la contenedorización en general, estos cursos de DataCamp son tu mejor próxima parada:
Domina Docker y Kubernetes
Preguntas frecuentes
¿Qué es el grupo Docker y por qué es importante?
El grupo Docker es un grupo de usuarios del sistema que concede a sus miembros permiso para utilizar el demonio Docker sin privilegios sudo. Existe para hacer que los comandos de Docker sean más cómodos, eliminando las solicitudes de contraseña y los errores de permiso. Cuando instalas Docker en sistemas Linux, este grupo se crea automáticamente y controla el acceso al archivo de socket de Docker. Añadir usuarios a este grupo les permite ejecutar directamente todos los comandos Docker, lo que mejora enormemente la eficacia del flujo de trabajo.
¿Qué riesgos de seguridad conlleva la pertenencia a un grupo Docker?
La pertenencia a un grupo Docker otorga un acceso equivalente al de root a tu sistema. Los miembros pueden montar el sistema de archivos del host dentro de los contenedores, modificar los archivos del sistema y, potencialmente, obtener acceso administrativo completo. También pueden cambiar las configuraciones del demonio Docker y ejecutar contenedores privilegiados con acceso directo al hardware. Este nivel de acceso hace que sea crucial añadir sólo usuarios de confianza al grupo Docker y seguir medidas adicionales de refuerzo de la seguridad.
¿Puedo utilizar Docker sin añadir usuarios al grupo Docker?
Sí, puedes utilizar Docker sin añadir usuarios al grupo Docker. La alternativa más común es utilizar sudo antes de cada comando Docker, lo que proporciona una mayor seguridad y capacidad de auditoría. Otra opción es configurar el modo rootless de Docker, que permite ejecutar el demonio y los contenedores como usuario no root. También puedes crear entradas sudoers personalizadas que permitan a usuarios concretos ejecutar sólo comandos Docker sin contraseña.
¿Cómo verifico si un usuario se ha añadido correctamente al grupo Docker?
Puedes verificar que se ha añadido correctamente al grupo Docker ejecutando el comando groups $USERNAME
para listar todos los grupos a los que pertenece el usuario. Si aparece "docker" en la lista, el usuario es miembro. También puedes consultar en getent group docker
todos los miembros del grupo Docker. Recuerda que los usuarios deben desconectarse y volver a conectarse antes de que surtan efecto las nuevas afiliaciones a grupos, lo cual es un punto habitual de solución de problemas.
¿En qué se diferencia la gestión de grupos de Docker en Windows respecto a Linux?
Windows utiliza un grupo "docker-users" en lugar del grupo "docker" que se encuentra en los sistemas Linux. En Windows, añades usuarios a través de Administración de equipos o PowerShell con privilegios de administrador mediante el comando Añadir-MiembroDeGrupoLocal. A diferencia de Linux, Windows ofrece seguridad adicional mediante el Control de Aplicaciones de Windows Defender y los modos de aislamiento de Hyper-V. Sin embargo, al igual que en Linux, los usuarios deben desconectarse y volver a conectarse después de ser añadidos al grupo para que los cambios surtan efecto.
¡Aprende más sobre Docker con estos cursos!
Curso
Introduction to Docker
Curso
Intermediate Docker
blog
Los 13 mejores proyectos de AWS: De principiante a profesional

Tutorial
Cómo instalar y configurar MySQL en Docker

Tutorial
Guía completa para el aumento de datos
Tutorial
Tutorial de GitHub y Git para principiantes
Tutorial
Introducción a los disparadores SQL: Guía para desarrolladores

Oluseye Jeremiah
13 min
Tutorial
Cómo utilizar GROUP BY y HAVING en SQL

Eugenia Anello
6 min