【发布时间】:2022-11-05 23:03:25
【问题描述】:
我想保护基于 php-apache 的 Docker 映像。
我的 Dockerfile 使用 bash 脚本作为入口点,这是授予 www-data 用户运行 apache 的最低权限。权限由 setfacl 提供,setfacl 规则不会保留在 docker 映像中,它们需要在启动时创建(如果我错了,请纠正我)。最后,入口点启动 apache2
我的问题是:入口点需要以 root 身份启动(对于 setfacl)。但是我配置了所有图像,因此我可以将 apache2 作为 www-data 启动,以获得最大的安全性。我该如何解决这个问题?
Dockerfile 看起来像:
`来自 php:${TAG_SIAM_PHP}
...
曝光 80 暴露 443
用户 www 数据
入口点 ["bash", "/docker-entrypoint.sh"]
`
谢谢 !
我曾考虑以 root 身份启动入口点,然后 su - www-data -c apache2... 但出于安全原因,www-data 是非登录用户,因此无法正常工作。
我想过在 ENTRYPOINT 和 CMD 之间更改 dockerfile 中的 USER 但我认为这不起作用...
【问题讨论】:
标签: php docker apache dockerfile docker-entrypoint