Estoy buscando una solución "limpia" para compartir un volumen y compartir los permisos. Quiero decir, si es posible, me gustaría tener el mismo usuario en mi contenedor que el usuario local que lo inició.
Actualmente, estoy usando:
docker run --rm -v ~/Projects/:/projects/ mycontainerFunciona, pero el problema es que, cuando mi contenedor escribe algo de contenido en este volumen, es el root quien es el propietario y no mi usuario local.
¿Cuál es la mejor manera de manejar este problema? Si es posible, no quiero crear información de usuario en Dockerfile, porque quiero compartir este contenedor con colegas y quiero evitar cualquier problema de permisos entre el usuario local y el usuario del contenedor.
Gracias
Puede especificar el usuario en el comando de docker run :
--user, -u Username or UID (format: <name|uid>[:<group|gid>])Si utiliza el UID numérico y el GID del usuario host, los archivos creados le pertenecerán.
Gracias por tu ayuda Enrique.
Mi solución completa fue:
docker run --rm -e USER_ID=$(echo "$UID") -v ~/Projects/:/projects/ mycontainerY tengo este script como valor de punto de entrada:
#!/bin/bash adduser -D -u $USER_ID alpine &>/dev/null cd /projects/ su alpine -c 'mycommand ...."Con esto, mi contenedor puede acceder y agregar/modificar contenido en la carpeta Proyectos con los mismos permisos que mi usuario local.