Docker中运行Dockerfile时报错“cannot allocate memory”

今天运行Dockerfile脚本时报错了,现记录下来:


Step 46/89 : RUN sudo mkdir -p /usr/local/apache-flume-1.7.0-bin/myagent

symlink /proc/mounts /var/lib/docker/overlay/2e59cde6da513075beb9fbfbab1d7920db8c25ca5f08e0f47001e9729b0c323e-init/merged/etc/mtab: cannot allocate memory

查明原因后,发现是pid max用尽导致了fork问题,解决办法就是修改pid max


现接触解决方案:


在命令行中输入:


echo "kernel.pid_max=99999" >> /etc/sysctl.conf

生效修改的内核参数:


sysctl -p

大功告成!


PS:64位系统上pid_max最大值为2^22,32位系统上最大值为32768。