我目前正在评估缩小图像大小的不同选择。除了高山之外,还可以选择在带有多阶段docker构建的scratch镜像中运行静态构建,大多数人称之为安全的(这也是我同意攻击面的地方)。但是,由于不涉及用户管理等,这不是意味着使用与执行它的docker守护进程相同的权限来运行二进制文件吗?这里的安全要点在哪里?
发布于 2019-02-12 01:19:46
您仍然可以通过在Dockerfile文件中使用USER命令或在启动容器(--user=)时为SCRATCH中的图像定义用户。最安全的选项是由Dockerfile中的USER命令指定的非根用户-它将是默认的容器选项。如果容器需要根用户,那么可以使用user namespaces,这样容器中就不会使用真正的根用户。
顺便说一下:非根用户的典型问题是低端口绑定,但您可以绑定高端口或使用--cap-add net_bind_service/--sysctl net.ipv4.ip_unprivileged_port_start=0 (内核4.11+)。
https://stackoverflow.com/questions/54635375
复制相似问题