Contenedores Docker: ¿usuarios específico o no?

Hola a todos:

Tal y como he comentado en el hilo reciente sobre NAS estoy peleando con uno al que he migrado a Debian + Openmediavault (OMV).

Estoy en el paso de implementar Docker y leyendo algo de documentación sobre la implementación de servicios en Docker bajo OMV y me asalta una duda que no había tenido nunca, ¿es recomendable utilizar un usuario específico para Docker o no es necesario?

En la documentación oficial de Docker también hablan de la posibilidad de crear un grupo específico para el tema.

Me gustaría conocer vuestra prácticas de uso al respecto.

Gracias.

Salud y Revolución.

Lobo.

Básicamente para usar Docker necesita ser su así que tú mismo si haces sudo o no. Te refieres a eso?

Se recomienda usar procesos que en los contenedores no usen usuario root, por temas de seguridad. En el host también se pueden usar grupos (docker/dockerroot según la distribución) para que usuarios no root puedan lanzar contenedores. Pero esos también pueden lanzar contenedores con procesos que corren como root.

Luego está el tema de montar directorios o archivos del host como volúmenes en el contenedor, en cuyo caso el usuario del contenedor escribirá y leerá ahí con los permisos de dicho usuario. Ese es el tema que describen. Los contenedores pueden usar usuarios inexistentes en el host, y desde el host verás que los propietarios son el número correspondiente al usuario y grupo (uid y gid) y sólo el root del host tendrá permisos totales.

No he leído más así que igual me pierdo algo, pero en el curro lo resolvimos creando usuarios en los contenedores que tenían el mismo nombre, uid y gid que el del host.

Por lo general, los dockers se ejecutan con los permisos del usuario que los lance, aunque puedes ejecutarlos con permisos superiores si quieres.

Como todo, siempre es conveniente lanzarlo con el menor permiso posible, aunque es más para que no te vayan a «romper» el docker, no porque vaya a afectar a la máquina real (salvo que montes algún volumen comprometido… lo cual no debería hacerse nunca).

Lo he tenido que explicar muy mal cuando el único que lo ha medio entendido es @fmcato.

En la entrada en el foro de OMV que he enlazado anteriormente lo que hace es crear un usuario específico para lanzar los contenedores de Docker, para no utilizar superusuario en la máquina real (el host, que le decís).

Y en la documentación oficial de Docker (también enlazada) de lo que hablan es de crear un grupo especial Docker en la máquina madre (el host).

A eso se refería mi pregunta, a si es conveniente o no. Evidentemente, tal y como dice @MiguelAngelLV, cuanto menos permisos se le den, mejor.

Después, tal y como habéis comentado ya después tenemos el problema de permisos en los volúmenes del contenedor alojados en la madre, pero esa no era mi pregunta.

Gracias.

Salud y Revolución.

Lobo.

Este tema se cerró automáticamente 10 días después del último post. No se permiten nuevas respuestas.