非 root 用户在尝试读取卷中的文件时抛出权限错误

问题描述 投票:0回答:0

在我的 Dockerfile 中,我创建了一个非 root 用户并使用以下内容设置二进制和非 root 用户工作区的权限:

RUN groupadd --gid 1000 non-root-user \
    && useradd -g 1000 non-root-user \
    && chown -R non-root-user:non-root-user /var/workspace/non-root-user \
    && chmod -R 550 /var/workspace/non-root-user \   # location of binary, sym-link to /run


USER non-root-user

当我启动容器并运行试图读取 config.json 文件的二进制文件时,二进制文件退出时说

non-root-user@4bd15417ffdc:/$ ./run start
Error: Permission denied (os error 13)

如上所述,二进制文件有 550。 在包含 config.json 文件的卷中,config.json 具有:

-rw-rw-rw- 1 non-root-user non-root-user 1464 Feb 27 18:49 config.json

但是二进制文件无法访问它。 我试过:

  • 通过
    :Z
  • 传递音量
  • chmod 777 配置.json
  • 将入口点更改为运行 `su -s /bin/bash -c "/run start" non-root-user 的 shell 脚本

在这里变得绝望和用尽想法。任何帮助将不胜感激!

docker docker-container sysadmin
© www.soinside.com 2019 - 2024. All rights reserved.