我不应该以root用户身份在Dockerfile中安装软件吗?

我不应该以root用户身份在Dockerfile中安装软件吗?,docker,security,dockerfile,Docker,Security,Dockerfile,我读了一篇很好的解释,解释了为什么不应该以root用户身份运行容器,而应该在dockerfile中创建一个用户,并使用user关键字切换到该用户 我的问题是:假设我想要一个docker镜像,上面安装了一些软件,在我的例子中是Xilinx Vivado,这是一个开发工具。以root用户身份执行所有安装步骤并在Dockerfile末尾切换到用户,这是一种糟糕的做法吗?关于这方面的注意事项是什么?对于构建映像和安装应用程序,您通常需要是root用户。如果您在Linux主机上并且希望apt-get-in

我读了一篇很好的解释,解释了为什么不应该以root用户身份运行容器,而应该在dockerfile中创建一个用户,并使用
user
关键字切换到该用户


我的问题是:假设我想要一个docker镜像,上面安装了一些软件,在我的例子中是Xilinx Vivado,这是一个开发工具。以root用户身份执行所有安装步骤并在Dockerfile末尾切换到用户,这是一种糟糕的做法吗?关于这方面的注意事项是什么?

对于构建映像和安装应用程序,您通常需要是root用户。如果您在Linux主机上并且希望
apt-get-install…
,则与此相同。因此,将
USER
步骤放在Dockerfile的末尾是相当标准的。问题不太常见于构建受控制的图像。相反,当您运行容器并拥有外部输入/用户时,可能会导致该映像中的应用程序做坏事