如何授予Docker容器中的非root用户访问主机上安装的卷的权限

如何授予Docker容器中的非root用户访问主机上安装的卷的权限,第1张

如何授予Docker容器中的非root用户访问主机上安装的卷的权限

这里没有神奇的解决方案:对docker内部的权限的管理与没有docker的权限相同。您需要运行适当的

chown
chmod
命令来更改目录的权限。

一种解决方案是让您的容器以root用户身份运行,并使用

ENTRYPOINT
脚本进行适当的权限更改,然后再
CMD
以非特权用户身份使用。例如,将以下内容放入
entrypoint.sh

#!/bin/shchown -R appuser:appgroup /path/to/volumeexec runuser -u appuser "$@"

假设您有

runuser
可用的命令。您可以使用
sudo
替代品完成几乎相同的事情。

通过

ENTRYPOINT
在Dockerfile中包含指令来使用以上脚本:

FROM baseimageCOPY entrypoint.sh /entrypoint.shENTRYPOINT ["/bin/sh", "entrypoint.sh"]CMD ["/usr/bin/myapp"]

这将以以下内容启动容器:

/bin/sh entrypoint.sh /usr/bin/myapp

入口点脚本将进行所需的权限更改,然后以

/usr/bin/myapp
身份运行
appuser



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4902040.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存