docker container作为两个docker bridge之间的网关

时间:2017-08-15 15:17:04

标签: docker

我正在尝试用docker模拟生产网络。

我有两个泊坞桥,bridge1bridge2

我想在它们之间放置另一个docker容器router gateway

不确定以下命令,想要这样做:

Router: (172.17.0.2)
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables -I FORWARD -s 192.168.9.0/24 -d 192.168.8.0/24 -j ACCEPT
iptables -I FORWARD -s 192.168.8.0/24 -d 192.168.9.0/24 -j ACCEPT
Bridge1:
ip route add 192.168.9.0/24 via 172.17.0.2 dev eth0
Bridge2:
ip route add 192.168.8.0/24 via 172.17.0.2 dev eth0

以上命令是否正确?但我怎样才能添加那些iptables规则,有些我怎么也无法改变它们。

1 个答案:

答案 0 :(得分:1)

您需要function betterFetch(url, options = { timeout: 10000 }) { const apiPromise = Promise.race([ fetch(url), new Promise((resolve, reject) => { return setTimeout(() => reject(new Error('request timeout')), options.timeout) }) ]); return apiPromise .then(response => response.json()) .then(data => camelize(data)) } // later betterFetch(`${process.env.API_URL}news`) .then(data => this.onSuccessNewsFetched(data)) .catch(error => this.onErrorNewsFetched(error)) 才能在docker容器中运行--cap-add=NET_ADMIN命令。

阅读:https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities