在没有特权模式的Docker环境中操作Docker中的容器之间的networkingstream量?
在Docker容器在其他Docker容器内部运行的环境中(通过安装Docker套接字,而不是以特权运行),是否有任何方式来操纵networking来执行如下操作:
- 引入延迟
- 丢弃数据包的百分比
- 带宽上限
我只对docker-py容器中的docker-dockerstream量感兴趣。 我不在乎操纵其他stream量,如docker到本地或docker到互联网。 在很多方面,只有操纵docker泊车networkingstream量才是理想的。
在以下情况下运行时,即使在Docker容器中也有很多方法可以执行此操作:
- 特权模式
- 传递
--cap-add=NET_ADMIN
标志运行时
一些实用程序(iptables,tc和使用它们实现的各种库)允许这样做。 但是,由于“主机”容器没有以特权模式启动,所有这些都需要比我的环境中更高的权限。
我无法控制系统configuration。 我必须在另一个容器内运行这些容器,而不是以特权模式启动。 如果我能改变这一点,这将是直截了当的,因为我可以使用上面列出的任何工具。
所有的容器都连接到一个由docker network create foobar
创build的docker network create foobar
。
我的应用程序,用Python3.4编写,在OSX上使用docker-py。
- 是否有任何方法来操纵docker到dockernetworking的特性,以引入延迟,数据包丢弃等networking?