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

时间:2022-03-17 22:17:11

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

Step / : RUN sudo mkdir -p /usr/local/apache-flume-1.7.-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。