在工作中突然发现有个系统页面跳转空白页一直加载不出来,页面并没有出现报错。于是使用docker inpest 容器id 查看改服务的参数信息,发现内存已经满了需要重构改服务的容器进行扩容。操作流程:
1.查看容器内存使用情况
docker stats
2.先将正在运行的服务app.jar/bootstrap.properties/application.propertie三个文件进行备份
docker cp 服务id:/app.jar /home/
3.关闭需要扩容的服务
docker stop 服务id
4.删除已关闭的服务
docker rm 服务id
5.添加内存限制
docker run --name 容器名 -m 1024m --memory-swap -1 -v 绑定挂载卷 -p 绑定挂载卷 --net=host -d --restart=always容器名
--name 为容器分配一个名称
-m 1024m (选项限制容器使用的内存上限为 1024M)
--memory-swap -1(同时设置 memory-swap 值为-1,它表示容器程序使用内存的受限,而可以使用的 swap 空间使用不受限制(宿主机有多少 swap 容器就可以使用多少))
6.更新已有容器内存限制
docker update --memory 1200m --memory-swap -1 tomcat01
参考来源
Docker容器内存限制 - 腾讯云开发者社区-腾讯云 (tencent.com)https://cloud.tencent.com/developer/article/1525052docker run参数详解:
码头工人运行 |码头工人文档 (docker.com)https://docs.docker.com/engine/reference/commandline/run/