在 Dockerfile 中动态拉取核心数

Pull number of cores dynamically in Dockerfile

目前我正在用 Docker 打包一个 Web 应用程序,我的 Dockerfile 中的一行如下

CMD gunicorn -w 4 -b 0.0.0.0:80 main:app

我想知道是否可以将 -w 4 更改为 -w $(num_cores) * 2 + 1

我该怎么做?

如果您在 Linux,您可以使用 nproc 命令

CMD gunicorn -w $(expr $(nproc) \* 2 + 1) -b 0.0.0.0:80 main:app