无根泊坞窗映像

时间:2020-01-21 11:46:44

标签: docker ubuntu root alpine debian-based

我尝试运行最新版本的debian和alpine,但似乎以root用户身份运行。

我期望echo $USER如果返回空,则不应该返回root;那么我需要使用命令whoami来验证是否还返回了root,我们已经以root模式登录到docker容器,这可能导致漏洞。

2 个答案:

答案 0 :(得分:1)

根据此StackOverflow answer,您需要传递参数--user <user>才能以非root用户身份登录。

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

答案 1 :(得分:1)

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

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

更多详细信息以及可用来保护容器的其他一些操作:https://pythonspeed.com/articles/root-capabilities-docker-security/