熊熊出没 发表于 2024-12-24 23:43:52

[实战]Docker应用自动重启

场景

Java应用,在凌晨定时任开始时运行一段时间后,会自动重启,导致定时使命失败。该应用使用Docker部署
分析

Docker应用运行一段时间自动重启可能的缘故原由为容器分配的资源(如CPU、内存)不敷,系统可能会杀死容器历程以释放资源。Docker随后可能会根据重启策略重启容器。
采用docker stats命令监控容器的资源使用情况, 同时手动触发定时使命。观察内存使用情况
https://i-blog.csdnimg.cn/direct/d54ebf1f68f64f4f89c83b5418fe2ce5.png
发现 MEM USAGE 会接近LIMIT,判断为超内存导致的Docker重启

办理方案

去掉或增长Docker容器内存LIMIT的限定。
1、若采用Docker Compose则修改设置文件
    deploy:
      resources:
      limits:
          memory: 12288M
2、若使用Docker则修改已运行容器的内存限定,使用 docker update 命令来动态调整内存限定。比方,假如您想要将一个已运行的容器的内存限定增长到1GB,可以使用以下命令:
docker update -m 1024m my-container

创建容器时设置内存限定
当您创建一个新的容器时,可以使用 docker run 命令,并共同 -m 或 --memory 参数来设置内存限定。比方,假如您想要创建一个使用512MB内存的Nginx容器,可以使用以下命令:
docker run -m 512m -d --name my-nginx nginx




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: [实战]Docker应用自动重启