我不太确定使用Docker时如何应用安全性最佳实践。每个流行的指南似乎都在使用根。
任何人都可以在
上共享一个示例/锅炉点1.如何编写dockerfile(对于非根本用户(,例如Busybox
2,在Docker-Compose文件中使用Dockerfile
3.使用非root用户/uid
我真的很感激。谢谢。
有一些实现此目的的方法。
在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/