我目前正在评估不同的选择以减小图像尺寸。除了高山以外,还可以选择使用多阶段docker构建在临时映像中运行静态构建,大多数人都将其称为安全的(关于攻击面我同意这一点)。但是由于没有涉及用户管理等,这是否意味着要以与执行它的docker守护程序相同的权限运行二进制文件?这里的安全点在哪里?
答案 0 :(得分:2)
您仍然可以通过在Dockerfile中使用SCRATCH
命令或在启动容器(USER
)时为--user=
中的图像定义用户。最安全的选项将是Dockerfile中USER
命令指定的非root用户-它将是默认的容器选项。如果容器需要root用户,则可以使用user namespaces,因此容器中不会使用真实的root。
顺便说一句:非root用户的典型问题是端口绑定低,但是您可以绑定端口高或使用--cap-add net_bind_service
/ --sysctl net.ipv4.ip_unprivileged_port_start=0
(内核4.11 +)。