在 Kubernetes 上,为了构建 docker 镜像,我们使用 Docker Inside Docker (dind),其中 docker 守护进程将以特权用户身份运行
但有时我们观察到 docker 映像创建将失败并出现以下错误,我无法指出确切的原因,
ERROR: Error writing header for "scripts": io: read/write on closed pipe
ERROR: Error writing tar: io: read/write on closed pipe
Removing temporary directory /tmp/s2i834345991
Removing directory '/tmp/s2i834345991'
Build failed ERROR: An error occurred: Error response from daemon: set shim OOM score: write /proc/9092/oom_score_adj: invalid argument: unknown
根据 docker 文档,默认情况下 oom_score_adj 设置为 -500,即容器可以消耗 50% 的内存,所以我假设当内存使用量超过 50% 时 OS/Kernel 正在杀死容器,但我不确定关于它,因为异常说“无效参数”
有没有人更早遇到过这个问题,如果是,请告诉我们同样的确切原因,我浏览了很多文章,但无法得出任何结论。