我分别用两种linux系统部署Docker0.8,都没法限制容器的内存大小。具体情况如下:
# docker run -i -t -d -m 512m centos /bin/bash
WARNING: WARNING: Your kernel does not support swap limit capabilities. Limitation discarded.
9229fe1bac59992337e909cbc5a11f3e0fa81553ad7b136bec95a62181a251fd
该容器新建成功,但不能限制内存大小。
# sudo docker run -i -t -m 512m -d ubuntu /bin/bash
89d629ed37d63b67b49ed8c4c11cab653d61d5b85227bdd10c8a9a0a718c686e
看似未报错,登陆该新建的容器里面查看内存【free命令】,发现并未限制。
大家手头的主机都是什么系统,有没有这种情况?如何解决?盼回复,谢谢!
La commande
dans le conteneur
free
examine la mémoire surHost
.Pour afficher la limite de mémoire de
Vous pouvez également vérifier les restrictions d'autres ressources souscontainer
, utilisez ceci :/cgroup/
:Propriétaire, j'ai également rencontré ce problème lorsque je faisais des expériences avec une machine virtuelle Ubuntu. Veuillez vous référer à ici pour le résoudre
http://docs.docker.com/articles/runmetrics/
. Voici des extraits clés
Si vous souhaitez activer la comptabilité de la mémoire et du swap, vous devez ajouter les paramètres de ligne de commande suivants à votre noyau :
Sur les systèmes utilisant GRUB (qui est la valeur par défaut pour Ubuntu), vous pouvez ajouter ces paramètres en éditant
./etc/default/grub
et en étendantGRUB_CMDLINE_LINUX
Recherchez la ligne suivante :Et remplacez-le par le suivant :
Ensuite, exécutez
sudo update-grub
et redémarrez.Ces paramètres vous aideront à vous débarrasser des avertissements suivants :
Est-ce que quelqu'un sait comment résoudre ce problème sur Centos6 ?
Mon docker est 1.6.2, Centos est 6.6 et la version du noyau est 3.10.81
@colin5063
Je suis CentOS6.7, ça devrait être à peu près pareil
Je l'ai modifié
à la fin de l'élément noyau du noyau actuellement utilisé./etc/grub.conf
en ajoutantcgroup_enable=memory swapaccount=1
redémarrer
Ensuite
cat /proc/cmdline
vous constaterez que la configuration a pris effet