docker - Docker卷文件不可写,写为root
问题描述
我拥有一个文件夹,/me/tmp
我在其中安装了一个 docker 卷:docker run -v /me/tmp/:/root/tmp/
. 但是,当我的 Docker 容器创建文件夹和文件而不是目录时,例如/root/tmp/subdir/file.txt
,该文件被创建为 root,并且对其他组或用户没有写权限。这意味着在容器之外,我无法编辑甚至删除此文件/me/tmp/subdir/file.txt
。有没有办法在没有 root 访问权限的情况下更改文件的权限或所有者,或者有什么方法可以从一开始就避免这种情况?
解决方案
您可以使用用户映射运行 docker,因此使用 uid 0(容器中的根目录)创建的任何文件都会自动映射到主机上的另一个 uid。这由两个文件/etc/subuid
和/etc/subgid
.
阅读官方文档
推荐阅读
- php - 如何根据姓氏过滤数组?
- arrays - 使用集合在包含虚拟列的 oracle 表中插入记录
- html - 单击按钮显示蓝色矩形。此外,关闭模式后按钮会悬停
- c# - 我可以将 EventSetter 放在哪里,以便在控件的代码隐藏中而不是在资源字典中搜索其处理程序?
- azure-logic-apps - Azure Logic App:转发时如何将嵌入图像保留在电子邮件正文中?
- python - RecursionError 限制了我在大数组中的排序功能
- javascript - mapbox:在低缩放比例下避免重复图层
- python - 如何解决 pytest 中的弃用警告
- javascript - 我不明白程序的工作原理
- java - 有没有办法使用 elasticsearch java api 加载包含索引映射的 json 文件?