如果构建发生在 docker 中心服务器上,如何在 bash 脚本或 docker 文件中检测?

How to detect in bash script or docker file if the build is taking place on a docker hub server?

所以我有一个 docker 文件,它使用 cython 包装器编译和安装 gtsam。 docker 安装程序在本地机器上工作正常,但在 docker 集线器自动构建时构建时内存不足。 我相信我可以通过更改为 make -j1 来减少内存使用,但我仍然希望在本地执行时更快地构建。 我尝试访问 sys/fs/cgroup/memory/memory.limit_in_bytes,它显示 9223372036854771712 远远超过服务器上的 2G 限制。

有没有办法检测构建是否通过自动构建进行并相应地调整 -j 标志

Docker Hub 设置在构建时可用的环境变量。

例如,您可以通过检查是否设置了 SOURCE_BRANCH 来测试构建过程是否发生在 Docker Hub 上。

可以找到完整的环境变量列表here