Docker build --ulimit 标志无效

Che*_*yne 3 ulimit docker

由于文件句柄限制错误,我的 docker 构建失败。他们崩溃了

Error: EMFILE: too many open files

当我在容器上检查 ulimit -n 时,我看到

-n: file descriptors 1024

所以我将以下标志传递给我的构建命令

docker build --ulimit nofile=65536:65536 -t web .

但这并没有改变任何东西,我的容器仍然显示

-n: file descriptors 1024

无论我做什么,我似乎都无法更改 ulimit 文件描述符限制。

我在这里做错了什么?

Che*_*yne 5

于是,我发现了原因。发布答案以防其他人遇到同样的问题,因为我只是在此浪费了一天的大部分时间。我一直在调试一个运行时间很长的构建并且一直在使用

export DOCKER_BUILDKIT=1

启用一些扩展的构建信息。非常有用的时间等,虽然看起来好像启用 DOCKER_BUILDKIT 完全忽略传递给 docker build 命令的 ulimit 标志。
当我设置

export DOCKER_BUILDKIT=0

有用。长话短说,避免使用带有 ulimit 参数的 buildkit