【发布时间】:2021-05-26 16:40:51
【问题描述】:
我有自定义用户(例如 tod)的 docker 镜像。我想在不创建容器的情况下找出有关此用户的信息。
基础镜像:centos8
UPD:关于上下文。
我在 k8s 中运行一个非特权容器并收到以下错误:
container has runAsNonRoot and image has non-numeric user (tod), cannot verify user is non-root
我阅读了this 的答案,无法理解为什么无法从我的容器中获取用户 ID。
【问题讨论】:
-
为什么会有特定的“不创建容器”约束?
docker run --rm imagename id会经常工作,但在技术上违反了这个要求。 -
这张图片被k8s检查了,找不到用户id。但如果你去容器,用户有一个 id。魔法)
-
您能否在问题中添加更多详细信息,以了解您在哪种情况下要检查的具体内容? (每个进程都会有 一些 用户 ID;您可以在
docker run和 Kubernetes Pod 规范中覆盖容器的 uid;通常将 Kubernetes 配置为不允许进程以 root 身份运行;这种情况不常见但可能容器以 root 身份启动,然后切换到非特权用户。) -
我添加了上下文
-
这是解释这一点的 PR:github.com/kubernetes/kubernetes/pull/56503 这能回答你的问题吗?
标签: docker kubernetes