如何正确编写dockerfile,并在主机非root用户/uid下使用docker-compose(用于最佳实践)



我不太确定使用Docker时如何应用安全性最佳实践。每个流行的指南似乎都在使用根。

任何人都可以在
上共享一个示例/锅炉点1.如何编写dockerfile(对于非根本用户(,例如Busybox
2,在Docker-Compose文件中使用Dockerfile
3.使用非root用户/uid

运行Docker-Compose

我真的很感激。谢谢。

有一些实现此目的的方法。

在Dockerfile中,创建一个用户并以该用户的方式运行应用程序。

这是首选模式。

FROM <BASE>
RUN groupadd -g 1000 myuser && 
    useradd -r -u 1000 -g myuser myuser
USER myuser
...

运行容器时,指定其用户

有时您需要运行从Docker Hub提取的图像。此图像可能不会遵循上述模式,并简单地以root

运行。

您可以在运行它时指定其用户。

docker run --user <uid>:<pid> ...

文档:https://docs.docker.com/engine/reference/run/#user

使用userns-remap

此处讨论此模式的详细信息:https://docs.docker.com/engine/security/security/userns-remap/

最新更新