一个简单的 java web 程序,运行在 docker 容器中,提供对外接口服务
现象:使用 docker run 启动容器后可以正常运行,访问一切正常,但是隔了几十分钟后容器自动退出,java 日志一切正常
排查:
- docker ps -a 查看挂掉的容器 id,docker logs 查看容器最后的日志,发现日志一切正常
- 查看系统日志 cat /var/log/message | grep kill 发现有 oom-killer 记录
- 也可以用 dmesg 查看
解决:
提高 docker run --memory=xxMb 参数限制的容器内存上限