首先要做的事情.我的系统信息和版本:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 13.04
Release: 13.04
Codename: raring
$ sudo docker version
Client version: 0.9.0
Go version (client): go1.2.1
Git commit (client): 2b3fdf2
Server version: 0.9.0
Git commit (server): 2b3fdf2
Go version (server): go1.2.1
$ lxc-version
lxc version: 0.9.0
$ uname -a
Linux ip-10-0-2-86 3.8.0-19-generic #29-Ubuntu SMP Wed Apr 17 18:16:28 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
在它内部的过程变成僵尸之后,我无法阻止容器.升级到docker 0.9.0后,我的服务器上看到了大量的僵尸.例:
$ ps axo stat,ppid,pid,comm | grep -w defunct
Zl 25327 …Run Code Online (Sandbox Code Playgroud) Docker 为它创建的每个容器创建一个veth连接到bridge(docker0)的接口.
http://docs.docker.io/use/networking/
我想限制这些新veth接口的带宽.我找到了一种方法来做奇迹.但是我想自动化这个.
有没有办法在每次veth连接新接口时都有一个运行脚本的钩子?
我已经考虑过添加脚本/etc/network/if-up.d/,但是veth只在启动时添加脚本时它们才会运行.
以下是我试图收到通知的一些系统日志.我知道我可以拖尾这些日志,但这种方法看起来有点hacky,必须有办法通过操作系统获得有关此事件的通知.
May 2 23:28:41 ip-10-171-7-2 kernel: [22170163.565812] netlink: 1 bytes leftover after parsing attributes.
May 2 23:28:42 ip-10-171-7-2 kernel: [22170163.720571] IPv6: ADDRCONF(NETDEV_UP): veth5964: link is not ready
May 2 23:28:42 ip-10-171-7-2 kernel: [22170163.720587] device veth5964 entered promiscuous mode
May 2 23:28:42 ip-10-171-7-2 avahi-daemon[1006]: Withdrawing workstation service for vethdc8c.
May 2 23:28:42 ip-10-171-7-2 kernel: [22170163.743283] IPv6: ADDRCONF(NETDEV_CHANGE): veth5964: link becomes ready
May 2 …Run Code Online (Sandbox Code Playgroud)