Estoy ejecutando algunos servicios dentro de los contenedores Docker LXC en mi servidor y estoy empezando a hacer cosas serias con ellos.
Una cosa que no tengo claro es cómo funcionan los permisos de usuario dentro y fuera del contenedor. Si, por ejemplo, estoy ejecutando MySQL en un contenedor y tengo su directorio de datos configurado /data
, que es un volumen Docker, ¿cómo afectan los permisos dentro y fuera del contenedor a las políticas de acceso?
Obviamente, la idea es ejecutar MySQL como su propio usuario en el contenedor (es decir mysql:mysql
) y otorgarle derechos de lectura y escritura en ese directorio. Supongo que esto sería bastante sencillo, solo chmod
con el directorio, etc. Pero, ¿cómo funciona esto fuera del contenedor? Ahora que tengo este volumen compartido de Docker llamado 'datos', ¿cómo administro el control de acceso?
Estoy buscando específicamente poder ejecutar un usuario sin privilegios fuera del contenedor Docker que periódicamente accederá al volumen compartido de MySQL y hará una copia de seguridad de los datos.
¿Cómo puedo configurar permisos, usuarios y grupos para que un usuario específico en el host pueda leer / escribir archivos y carpetas en el volumen compartido de Docker?
root
puede, por cierto, también ejecutar contenedores sin privilegios . Importante es que se define una asignación para los usuarios .
docker
soporte para eso), el contenedor LXC se puede ejecutar como usuario sin privilegios. De lo contrario, elroot
usuario dentro del contenedor podría salir si el contenedor está configurado de manera inapropiada. Es decir,root
en el host estároot
en el contenedor en un contenedor LXC privilegiado.