【发布时间】:2014-12-18 21:50:57
【问题描述】:
我可以运行可以访问eth1 的docker 容器吗?
DSL 提供商连接到eth1。
我在eth0 上有默认互联网。
我希望docker 容器在eth1 上拨打pppoe 和docker 中的应用程序以使用该互联网,无需端口映射即可完全访问互联网。
【问题讨论】:
标签: networking docker
我可以运行可以访问eth1 的docker 容器吗?
DSL 提供商连接到eth1。
我在eth0 上有默认互联网。
我希望docker 容器在eth1 上拨打pppoe 和docker 中的应用程序以使用该互联网,无需端口映射即可完全访问互联网。
【问题讨论】:
标签: networking docker
我看不出你有什么理由不能做你正在尝试的事情。添加标志
--cap-add=NET_ADMIN
到 docker run 命令。这将赋予容器足够的权限来创建和配置接口。
【讨论】:
--net=host,但它是完全相同的网络。如果我更改路线,那么它会在主机上更改。我想做的是在主机和容器中有不同的路由来使用不同的互联网提供商。
最简单的选择是使用主机的网络堆栈运行。您不会在容器之间进行任何网络隔离,但 eth1 会在那里,就像您在运行常规进程一样。
为此,请使用docker run --net=host [rest of run command]
也可以build your own bridge 并将容器中的 veth 链接到网桥到 eth1。我没试过,也没试过控制pppoe。
【讨论】:
apt-get install pppoeconf 在 docker 中也不起作用。这是另一个问题。