当前位置: 首页 > 知识库问答 >
问题:

如何在Docker中以非根用户的身份写入卷容器?

邵鸿福
2023-03-14

如何装入非根容器用户可写的卷?我可以将卷归非根用户所有,或者权限设置为777。

FROM alpine
RUN adduser -D myuser
USER myuser
docker build -t example .
% docker run -i -t -v myapp:/app example /bin/sh
/ $ whoami
myuser
/ $ ls -lha / | grep app
drwxr-xr-x    2 root     root        4.0K Nov 12 21:01 app
/ $ 

我们可以看到应用程序是全球可读的,但只能由根用户写。

共有1个答案

公孙棋
2023-03-14

这还不受支持,并在问题2259.
中进行了研究,它会影响其他图像,如Docker-Java。

基本上,您必须在卷中chown和复制(与正确的用户)您的数据,这不是很方便。

 类似资料:
  • 本文向大家介绍以非root用户身份运行Docker容器,包括了以非root用户身份运行Docker容器的使用技巧和注意事项,需要的朋友参考一下 当您在Docker容器中运行应用程序时,默认情况下,它有权访问所有root特权。您可能已经注意到,当打开Ubuntu Docker Container Bash时,默认情况下您以root用户身份登录。在应用程序的安全性方面,这可能是一个主要问题。任何局外人

  • 问题内容: 运行时默认 要么 您以root用户身份连接到终端,但是我想以其他用户身份连接。这可能吗? 问题答案: 对于: 在启动Docker容器时,只需添加选项即可更改为其他用户。 对于或: 由于该命令用于附加/执行到现有进程中,因此它直接在此使用当前用户。 如果您确实想附加到想要拥有的用户,那么 从该用户开始或在您的使用中提及它 使用`su更改用户

  • 问题内容: 在构建Docker映像时,如何将文件添加到映像中,以便生成的文件由root以外的用户拥有? 问题答案: 对于v17.09.0-ce及更高版本 将可选标志与或命令一起使用。 例如 --chown标志的文档现在位于Dockerfile参考主页面上。 版本 34263 已被合并,可以在v17.09.0-ce版本中使用。 对于v17.09.0-ce之前的版本 Docker不以root用户身份支

  • 问题内容: 我需要在Jenkins中以root身份而不是默认用户身份运行Shell脚本。我需要更改什么? 我的sudoers文件是这样的: 问题答案: 您必须使用以下命令运行脚本: 但是在您必须允许在中运行脚本之前。

  • 问题内容: 在昨天的Shocker消息发布之后,似乎Docker容器中的应用程序不应以root用户身份运行。我尝试更新自己以创建应用程序用户,但是更改对应用程序文件的权限(虽然仍然是root)似乎不起作用。我猜这是因为未将某些LXC权限授予root用户? 这是我的Dockerfile: 很简单,但是当我一切仍然由root拥有时: 感谢@creak对卷的工作原理的澄清,我更新的dockerfile的

  • docker 17.09.0-CE版本 docker-compose版本1.8.0