当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上)。