Welcome 微信登录

首页 / 操作系统 / Linux / 在 Ubuntu 14.04 下使用 cgroups 和 Docker

作为我在ApacheCon工作的一份呈现,我正在Docker内部使用一些cgroups 。我发现这方面的文档很少,所以我想把它们合到一块发一篇关于它的博客。

启用LXC驱动

假设你已经在Ubuntu 14.04上安装了Docker,你仍旧需要启用LXC驱动。要开启该项,你需要这样做$ apt-get install -y lxc
$ echo "DOCKER_OPTS="--exec-driver=lxc""     | tee -a /etc/default/docker
$ service docker restart`

启用两个不没有cgroup策略的容器

让我们先加载两个容器,两个的CPU都要最大化(通过运行md5sum /dev/urandom)$ docker run -d busybox md5sum /dev/urandom
$ docker run -d busybox md5sum /dev/urandom正如预期的,我们可以看到这些容器完全使用了每一个CPU内核。

启用两个没有cgroup策略的容器

现在让我们通过添加两条cgroup策略启用新的LXC选项。我们想要做的是运行相同的工作负荷且运行在相同CPU内核。我们期望它会占有CPU50%。而且,我们想给其中一个容器80%的CPU共享,其他一个共享20%。要做到这一点,我们使用‘cpu.shares’来分配CPU并使用‘cpuset.cpus’锁定容器到同一个CPU内核。用低优先级启动容器:$ docker run -d --name="low_prio"     --lxc-conf="lxc.cgroup.cpu.shares=250"
--lxc-conf="lxc.cgroup.cpuset.cpus=0"
busybox md5sum /dev/urandom用高优先级启动容器:$ docker run -d --name="high_prio"     --lxc-conf="lxc.cgroup.cpu.shares=750"
--lxc-conf="lxc.cgroup.cpuset.cpus=0"
busybox md5sum /dev/urandom正如你所看到的,它奏效了!折腾快乐!CentOS 6/7系列安装Docker http://www.linuxidc.com/Linux/2014-07/104768.htm Docker的搭建Gitlab CI 全过程详解 http://www.linuxidc.com/Linux/2013-12/93537.htm Docker安装应用(CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm 在 Docker 中使用 MySQL http://www.linuxidc.com/Linux/2014-01/95354.htm在Ubuntu Trusty 14.04 (LTS) (64-bit)安装Docker http://www.linuxidc.com/Linux/2014-10/108184.htm Docker安装应用(CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm Ubuntu 14.04安装Docker  http://www.linuxidc.com/linux/2014-08/105656.htm 阿里云CentOS 6.5 模板上安装 Docker http://www.linuxidc.com/Linux/2014-11/109107.htm Docker 的详细介绍:请点这里
Docker 的下载地址:请点这里 更多Ubuntu相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2英文原文:Using cgroups with Docker on Ubuntu 14.04本文永久更新链接地址