如何使docker只使用eth1接口与其他主机通信?

时间:2015-08-29 18:27:10

标签: docker

我正在使用数字海洋。界面" eth1"是私人的," eth0"是公开的。如何使docker docker0创建的桥只使用私有接口eth1?

1 个答案:

答案 0 :(得分:4)

docker创建的网桥没有连接到任何物理接口。外部访问由iptables nat表中的第3层转发和NAT规则调解。

这意味着您可以通过操纵路由表和/或防火墙规则来控制Docker容器使用的接口。例如,要防止您的容器转出eth0

iptables -A FORWARD -i docker0 -o eth0 -j DROP

这会丢弃来自eth0的容器的任何流量。

当然,如果(a)您的容器正在尝试访问外部主机,并且(b)通过您的默认网关(可能是eth0,则该主机的唯一路由是,那么您的容器现在是运气不好。