在没有特权模式的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?