Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在docker scratch映像中运行静态构建时的安全性?_Docker_Dockerfile_Static Linking_Docker Multi Stage Build - Fatal编程技术网

在docker scratch映像中运行静态构建时的安全性?

在docker scratch映像中运行静态构建时的安全性?,docker,dockerfile,static-linking,docker-multi-stage-build,Docker,Dockerfile,Static Linking,Docker Multi Stage Build,我目前正在评估减少图像大小的不同选项。除了alpine,还可以选择在scratch图像中使用多级docker构建运行静态构建,大多数人称之为安全构建(我同意攻击面)。但是由于不涉及用户管理等,这是否意味着要以与docker守护进程相同的权限运行二进制文件?这里的安全点在哪里?您仍然可以使用Dockerfile中的user命令或在启动容器时(--user=)为SCRATCH中的图像定义用户。最安全的选项将是Dockerfile中的user命令指定的非root用户-它将是默认的容器选项。如果容器需要

我目前正在评估减少图像大小的不同选项。除了alpine,还可以选择在scratch图像中使用多级docker构建运行静态构建,大多数人称之为安全构建(我同意攻击面)。但是由于不涉及用户管理等,这是否意味着要以与docker守护进程相同的权限运行二进制文件?这里的安全点在哪里?

您仍然可以使用Dockerfile中的
user
命令或在启动容器时(
--user=
)为
SCRATCH
中的图像定义用户。最安全的选项将是Dockerfile中的
user
命令指定的非root用户-它将是默认的容器选项。如果容器需要root用户,那么您可以使用,这样容器中就不会使用真正的root


顺便说一句:非根用户的典型问题是低端口绑定,但您可以绑定高端口或使用
--cap add net\u bind\u service
/
--sysctl net.ipv4.ip\u unprivileged\u port\u start=0
(内核4.11+).

您仍然可以使用Dockerfile中的
user
命令或在启动容器时(
--user=
),为来自
SCRATCH
的图像定义用户。最安全的选项将是Dockerfile中的
user
命令指定的非root用户-它将是默认的容器选项。如果容器需要root用户,那么您可以使用,这样容器中就不会使用真正的root

顺便说一句:非根用户的典型问题是低端口绑定,但您可以绑定高端口或使用
--cap add net\u bind\u服务
/
--sysctl net.ipv4.ip\u unprivileged\u port\u start=0
(内核4.11+)