设为首页 收藏本站
查看: 1677|回复: 0

[经验分享] Docker 资源控制

[复制链接]

尚未签到

发表于 2015-4-17 10:42:49 | 显示全部楼层 |阅读模式
  之前一直做docker的实验,可是遇到了好多问题,在ubuntu 12.04 环境下很难模拟出真实机器的环境,(尤其是hosts文件无法修改,服务无法启动。。。),就转战vagrant,放弃了一段时间。
  最近docker 0.10 发布加上ubuntu14.04 的感觉docker用起来和顺手多了,所以捡起来慢慢研究。
  docker和vagrant相比各有各的优势,之所以选择docker 是因为快,vagrant启动一个环境大概需要40s左右,而docker是几s,各方面也很灵活的打包,不过对于资源的掌控还是不能得心应手。
  比如增加网卡,控制网卡的ip,控制内存的大小。
  
  1.  如何增加一个额外的网卡并指定ip地址
  可以通过--lxc-conf指定(0.7.2环境下可用,新版本还在研究)
  
  2.  限制内存的使用
  docker的命令中有一个-m参数可以限制容器使用的内存大小
  -m, --memory="": Memory limit (format: , where unit = b, k, m or g)
  加上-m参数一般会直接返回:WARNING: Your kernel does not support swap limit capabilities. Limitation discarded.
  需要修改启动参数,重启
  在/etc/default/grub中添加
  GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
  执行sudo update-grub,并重启
  docker run -i -t -m 32m  ubuntu /bin/bash
  进入容器,free -m 发现内存并没有变化(和host一样),但是确实在cgroup中做了限制,可以尝试用dd 消耗内存,看宿主的内存变化
  事实上,已经被限制在32m的使用量了。
  
  3.  限制cpu的使用
  docker是基于lxc实现的,lxc又是基于cgroups完成,所以对于cpu的控制也是很随意的(O(∩_∩)O~)。
    -c, --cpu-shares=0: CPU shares (relative weight)
  docker run -i -t -m 32m -c 512 ubuntu /bin/bash
  (1024 是基数,512就是分配为正常的一半的时间权重,2048就是正常的一倍,当然也可以是任意数值,只不过512 和 1024 比较好算比例)
  
  未完待续。。。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-58087-1-1.html 上篇帖子: 自制docker basic image 下篇帖子: docker offical docs:Working with Docker Images
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表