怎么在docker中运行指定的内存?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
-m,--memory 内存限制,格式是数字加单位,单位可以为 b,k,m,g。最小为 4M --memory-swap 内存+交换分区大小总限制。格式同上。必须必-m设置的大 --memory-reservation 内存的软性限制。格式同上 --oom-kill-disable 是否阻止 OOM killer 杀死容器,默认没设置 --oom-score-adj 容器被 OOM killer 杀死的优先级,范围是[-1000, 1000],默认为 0 --memory-swappiness 用于设置容器的虚拟内存控制行为。值为 0~100 之间的整数 --kernel-memory 核心内存限制。格式同上,最小为 4M
[root@sannian ~]# docker run -d -m 1G --memory-swap 3G -p 9999:80 --restart=always --name gitlab twang2218/gitlab-ce-zh a3254078a79a084f3f3bed5f4ade3e26c7d86951cd822d95b113227d75b00097
[root@sannian ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a3254078a79a twang2218/gitlab-ce-zh "/assets/wrapper" 21 minutes ago Up 2 minutes (healthy) 22/tcp, 443/tcp, 0.0.0.0:9999->80/tcp gitlab
[root@sannian ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE twang2218/gitlab-ce-zh latest 18da462b5ff5 3 months ago 1.61GB registry-vpc.cn-hangzhou.aliyuncs.com/wenty/jumpserver latest 055f42f305f5 7 months ago 1.41GB registry.cn-hangzhou.aliyuncs.com/wenty/jumpserver latest 055f42f305f5 7 months ago 1.41GB registry.jumpserver.org/public/jumpserver 1.0.0 055f42f305f5 7 months ago 1.41GB registry.jumpserver.org/public/jumpserver latest 055f42f305f5 7 months ago 1.41GB
补充:docker run -m指定内存大小不生效
执行docker run的时候,想要指定一下内存大小,用了-m参数
#docker run -id -m 3g -p 7001:7001 197.3.16.51/sysmgr/mywebapptest_app_weblogic:20180820047 WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. 52380a4896f3f916cd0f95f97e233b30d9406840e10c0c53484b3be9000d0321
然后发现虽然我设置堆大小为5G,容器还是创建出来了,3g的限制并没有生效。
查阅资料发现这个报错是因为宿主机内核的相关功能没有打开。
按照下面的设置就行
step 1:
编辑/etc/default/grub文件,将GRUB_CMDLINE_LINUX一行改为
GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
step 2:
更新 GRUB,即执行$ sudo update-grub
step 3:
重启系统。
看完上述内容,你们掌握怎么在docker中运行指定的内存的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。