无根 docker 图片

Rootless docker image

我尝试了 运行 最新版本的 debian 和 alpine,但似乎 运行 作为 root 用户。

如果 return 是空的,我预计 echo $USER 不应该 return root;然后我需要使用命令 whoami 验证是否也是 return root 我们已经以 root 模式登录到 docker 容器,这可能会导致漏洞。

根据这个 Whosebug ,您需要传递参数 --user <user> 才能以非根用户身份登录。

示例:docker run -it --user nobody alpine

处理此问题的通常方法是在 Dockerfile 中覆盖它(您可以这样做 docker run --user,但这可能会使程序感到困惑,因为例如不会有主目录设置)。

FROM ubuntu
RUN useradd --create-home appuser
WORKDIR /home/appuser
USER appuser

更多详细信息,以及您可以采取的其他一些措施来保护您的容器:https://pythonspeed.com/articles/root-capabilities-docker-security/