按摩按的好好的突然就对我起了歹意.
————王多鱼
目标
通过 docker run -v $(pwd):/vsr_data
实现将当前工作路径映射(挂载)到 docker 环境下的 /vsr_data
路径下,并使用普通用户向该路径写入文件。
过程
- 通过 dockerfile,在 docker 环境中使用
RUN groupadd
及RUN useradd
创建了与本 host 相同的用户名和用户组; - 通过 dockerfile,在 docker 环境中使用
USER
切换为普通用户; - 在 host 环境中运行
docker run
之前使用当前普通用户创建该文件夹(pwd肯定已存在); - 在 host 环境中运行
docker run
时使用-u
指定普通用户;
问题
该目录在host 中拥有者为用户,但在 docker 中拥有者始终为 root
。
临时方案
在 host 中创建文件夹后,使用 chmod a+w
将该目录赋予全写权限。
参考
Roy的个人站,虽然没什么用。 docker run