几天后,docker 失败并出现错误
docker[8927]: level=error msg="Error running exec in container: execcantrun: Cannot run exec command 34a26 in container 4972e576: [8] System error: fork/exec /proc/self/exe: cannot allocate memory\n"
Docker 1.9.1(无法升级)
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 34763 9.3 0.8 10680004 535208 ? Ssl Mar13 1334:17 /usr/bin/docker daemon -H fd:// --insecure-registry=0.0.0.0/0 --log-level=warn --ip-forward=false
看到VSZ差不多10G了
自由-m
total used free shared buffers cached
Mem: 63012 60128 2883 816 1 6775
-/+ buffers/cache: 53351 9660
Swap: 8191 7581 610
如果我重新启动 docker 服务,问题就会消失,直到几天后再次出现。
docker重启后,VSZ在2G左右
root 27144 2.4 0.0 1786272 44432 ? Ssl 17:44 4:47 /usr/bin/docker daemon -H fd:// --insecure-registry=0.0.0.0/0 --log-level=warn --ip-forward=false
有人看过或者有建议吗?
答案1
该问题涉及到https://github.com/docker/docker/issues/8539在 docker 1.10 或更高版本中已解决。 docker log 驱动程序存在一些问题,导致专门用于刷新容器的 STDOUT 的缓冲区问题。