[英]Change file permissions in mounted folder inside docker container on Windows Host
[英]docker mounted host directory file permissions
我正在docker映像中运行mqtt经纪人Mosqitto。 我正在使用以下参数
sudo docker run -d -p 1883:1883 -p 1884:1884 -v /home/mosquitto/apps/dev/mosquitto:/mosquitto --restart always -u mosquitto eclipse-mosquitto:1.4.
这会将主机文件夹/ home / mosquitto / apps / dev / mosquitto安装到映像文件夹/ mosquitto。问题是主机用户ID(1001)和Docker用户ID(100)不匹配。
如果我未指定-u mosquitto,则应用程序会抱怨无法写入/mosquitto/logs/mosquitto.log
因此,我想我要指定-u mosquitto,以使映像中的应用程序以用户1001的身份运行,因此具有对已装入文件的写访问权。 哪个有效。 但是,Mosquitto应用程序在退出时创建了一个新的数据库文件。 该文件是由101用户作为所有者创建的。
当我为docker指定-U时会发生什么。 怎么达到我的期望(允许写入主机文件)而没有达到我的期望(仍然使用原始图像用户ID制作文件)
也许这与特定的docker映像有关..它在内部运行了一些切换用户的脚本?
如何对任何用户进行日志路径的写访问? 它可能不太安全。 但是,如果只是日志,让我们看看docker内部的应用程序可以对其进行写入。
或者考虑将一些命令引导至容器以在内部进行权限更改。
如果您在Docker位置使用Linux或OSX,则很可能是安全性或文件权限问题。 转到此错误报告Dockerfile ADD命令#1295自动创建的目录的权限被拒绝,并跳到最后...有几个子错误报告的链接,您很可能在其中找到解决方案。 我有一个非常类似的问题,事实证明这是selinux配置错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.