Ubuntu 20.04 + Docker: permisos de carpeta correctos

Ubuntu 20.04 + Docker: permisos de carpeta correctos

Cuando estaba configurando Ubuntu 20.04, opté por instalar también Docker. No he realizado ningún cambio en su configuración (es decir, creo que Docker se ejecuta como root), aparte de crear un dockergrupo y agregarle mi usuario.

Mis contenedores almacenan sus datos en /home/docker. Para poder acceder por FTP a la carpeta y agregar/editar algunos archivos, cambié la propiedad de todas las subcarpetas a myuser:myuser. Como resultado, esta mañana SQL no estaba funcionando correctamente. Finalmente pensé que debería restaurar la propiedad root:root, lo que me permitió ver todas las bases de datos y tablas usando phpMyAdmin.

Sin embargo, cuando intento conectarme usando DBeaver, sigo recibiendo un error similar a este:

No se puede leer el directorio de './database1/' (errno: 13 "Permiso denegado")

¿Podría alguien decirme cuál es la mejor manera de configurar los permisos de la carpeta acoplable y qué otras configuraciones debo cambiar para que todos los contenedores funcionen correctamente y poder enviar FTP y editar archivos?

¡Gracias!

Respuesta1

Los contenedores necesitan la propiedad de los directorios del usuario que se utiliza en el contenedor. Esto depende de la imagen, cada creador puede elegir qué usuario quiere usar en el contenedor, ya que el contenedor está aislado.

Cuando ejecutas docker inspect containernamepuedes encontrar esto en la configuración:

"Config": {
         "User": "1001:1002",

En este caso, la aplicación en el contenedor se ejecuta con el usuario 1001 y el grupo 1002. Para eso, necesitará ejecutarla chown 1001:1002en la carpeta que monta como volumen en su contenedor.

Si el valor de Userestá vacío, se ejecuta como root. En ese caso los permisos no importarán.

información relacionada