I have the following Dockerfile:
...
RUN groupadd -r myuser&& useradd -r -g myuser myuser
RUN mkdir /data && chmod a+rwx /data
USER myuser
...
使用
docker run
命令运行镜像可以正常工作(我的意思是用户myuser
在/data
目录中具有写入权限)。如果使用
docker run -v /host/path:/data
命令运行镜像,则用户myuser
无法在/data
目录中写入。问题:如何使用户
myuser
在第二种情况下有权在/data
目录中写入?原因是
/host/path
目录归根用户所有,而用户myuser
没有在此类目录中写入的权限。
/host/path
会被创建为根目录。如果/host/path
是手动创建的,我唯一能想到的办法就是给所有用户赋予所有可能的权限,但我并不喜欢这种做法。 - abc123