【问题标题】:bitnami/kubectl container unable to create files - permission deniedbitnami/kubectl 容器无法创建文件 - 权限被拒绝
【发布时间】:2022-07-07 20:38:26
【问题描述】:

我已在我的 test-c 容器中使用了“bitnami/kubectl:latest”图像,该容器在测试 pod 中运行。我刚刚登录到那个容器,我想在那个容器中创建一个文件。但最终出现以下错误。

I have no name!@coredns-hook-c92g7:/$ touch test
touch: cannot touch 'test': Permission denied
I have no name!@coredns-hook-c92g7:/$ mkdir test
mkdir: cannot create directory 'test': Permission denied

谁能帮我理解为什么会出现这个问题以及如何解决这个问题?我知道将文件挂载为 configmap 可能对我有帮助,但我只需要了解这个问题。提前致谢!

【问题讨论】:

  • 看起来您在根目录 (/) 中,但您是以非 root 用户身份运行的,因此您当然无权在那里创建文件。您可能可以在 /tmp 中创建文件,或者您可以在文件系统的某个位置挂载一个卷,您也可能在那里拥有写入权限。

标签: kubernetes kubectl bitnami


【解决方案1】:

这里的问题是您正在使用的 docker 映像被配置为使用非 root 用户(在本例中为 USER 1001)运行其最终指令。

看一下 Dockerfile 指令: https://github.com/bitnami/bitnami-docker-kubectl/blob/master/1.24/debian-11/Dockerfile#L24

所以你可以

  • 在非 root 用户拥有的目录中创建文件,例如 /tmp
  • 在从 Dockerfile 中删除 USER 1001 指令后创建您自己的 docker 映像,并将其托管在您自己的存储库中,然后可以将其拉入您的集群。

任何对你有用的东西。

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多