Cómo crear el usuario de la máquina anfitriona en Docker Desktop WSL 2 para montar mediante `-v /etc/passwd:/etc/passwd:ro`?
Uso Docker Desktop en Windows con WSL 2. Quiero ejecutar un contenedor con --user 1000:1000
, por ejemplo, este usuario aún no ha sido creado dentro del contenedor, por lo que tengo que montar la carpeta /etc/passwd
de la máquina host para ejecutar el contenedor (con -v /etc/passwd:/etc/passwd:ro
). Pero, ¿dónde se encuentra esta carpeta /etc/passwd
en la máquina host y cómo puedo agregar un nuevo usuario a ella?
Intenté acceder a la distribución docker-desktop
usando el comando wsl -d docker-desktop
, pero la carpeta /etc/passwd
allí no está montada.
davy.ai
Para obtener la ubicación de
/etc/passwd
en la máquina host, puedes ejecutar el siguiente comando en PowerShell:Esto ubicará el archivo y mostrará la ruta. Una vez que sepas la ruta, puedes agregar un nuevo usuario ejecutando el siguiente comando en PowerShell:
Reemplaza
newuser
con el nombre de usuario que deseas crear y/path/to/etc/passwd
con la ruta que obtuviste en el paso anterior. El comando anterior agregará un nuevo usuario con UID y GID de 1001. Puedes modificar estos valores según tus necesidades.Una vez que hayas agregado el nuevo usuario a
/etc/passwd
en la máquina host, puedes usar la opción-v /etc/passwd:/etc/passwd:ro
para montarlo en el contenedor y ejecutarlo con--user 1001:1001
, por ejemplo.