为什么使用 buildah 时 npm install 会失败,并出现 Assertion failed: (fd > STDERR_FILENO)?

为什么使用 buildah 时 npm install 会失败,并出现 Assertion failed: (fd > STDERR_FILENO)?

嘿,我有一个项目的 Dockerfile,我想在 Kubernetes 上运行的 Gitlab ci/cd 管道内构建它。该映像是在 quay.io 的 buildah 容器内构建的,但虽然项目在本地编译,但管道却没有:

STEP 4/7: RUN npm install yarn
node: ../deps/uv/src/unix/core.c:633: uv__close: Assertion `fd > STDERR_FILENO' failed.
Aborted (core dumped)
subprocess exited with status 134
subprocess exited with status 134
error building at STEP "RUN npm install yarn": exit status 134

事实上,甚至npm --version会因同样的错误而失败。

我尝试在本地重现可以正常工作的环境podman run --privileged -v $(pwd):/image quay.io/containers/buildah buildah build image。但是我在本地使用 runc 运行,而管道使用 crio 运行。我不知道如何使用 crio 运行容器。

这可能是什么原因造成的?这可能是 crio 配置问题吗?如果您能帮我找出从哪里开始搜索,我将不胜感激。

谢谢 :)

相关内容