当docker构buildDockerfile时允许更多的内存

我试图build立一个Dockerfile,我得到这个:

Linking CXX executable ../../../../bin/clang collect2: error: ld terminated with signal 9 [Killed] make[2]: *** [bin/clang-3.2] Error 1 make[1]: *** [tools/clang/tools/driver/CMakeFiles/clang.dir/all] Error 2 make: *** [all] Error 2 

通常这意味着我没有足够的内存。 那么,如何运行docker构build与更大的内存(或交换?)

谢谢 :)

在构build映像时,docker可以访问系统中的所有内存。

我build议你在编译的时候不要编译,union文件系统很慢,我注意到它很快就会耗尽硬盘空间。

当我需要打包一个可执行文件时,我所做的就是build立一个具有所有必要的编译依赖项的容器,然后使用共享卷中的源代码运行它。

一旦代码被编译,我将可执行文件移动到另一个文件夹,在那里我有另一个Docker文件,将可执行文件添加到最小的基本映像(如临时或忙框)。

通过这样做,我节省了编译时间,并且最终获得了更小的图像。

买一个新的RAM棒? 🙂

更严重的是,你可能正在虚拟机上运行? 您需要更改虚拟机的设置并增加RAM大小。

在VirtualBox,它是在设置 – >系统 – >主板 – >基本内存。

默认情况下,Docker没有内存限制,所以如果你内存不足,你需要增加主机的容量。

您是否尝试通过Docker> Preferencess …> Advanced> Ram来增加docker的可用内存。 它默认只有2 GB(在Mac上)。