Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 多个NIC和Docker容器_Linux_Networking_Docker_Containers - Fatal编程技术网

Linux 多个NIC和Docker容器

Linux 多个NIC和Docker容器,linux,networking,docker,containers,Linux,Networking,Docker,Containers,我试图解决有关Docker容器和路由的特定问题 Docker主机运行多个网络接口(3G USB调制解调器),每个接口都可以访问互联网。简而言之, eth0-广域网IP 1 ppp0-广域网IP 2 ppp1-广域网IP 3 ppp2-广域网IP 4 如果我想让容器使用特定的NIC,如何指定每个容器应该使用哪个NIC?是的,我遇到了非常类似的问题。不幸的是,我必须使用VirtualBox才能正常工作 我使用Vagrant创建了VirtualBox虚拟机,并为其配置了Ansible,然后更改了该虚拟

我试图解决有关Docker容器和路由的特定问题

Docker主机运行多个网络接口(3G USB调制解调器),每个接口都可以访问互联网。简而言之,

eth0-广域网IP 1
ppp0-广域网IP 2
ppp1-广域网IP 3
ppp2-广域网IP 4


如果我想让容器使用特定的NIC,如何指定每个容器应该使用哪个NIC?

是的,我遇到了非常类似的问题。不幸的是,我必须使用VirtualBox才能正常工作

我使用Vagrant创建了VirtualBox虚拟机,并为其配置了Ansible,然后更改了该虚拟机的默认路由。大概是这样的:

路由添加默认gw IP2


这意味着要创建4个不同的虚拟机,但这就是我解决问题的方法。

为什么不在容器本身内设置路由?是的,这是我试图避免的事情,因为我的服务器资源非常紧张(好的ol'服务器只有一个核心和3GB的RAM)我只需要特定的应用程序运行多次。它不需要更多的资源将路由放入容器而不是主机。是吗@Auzias-我对VirtualBox解决方案有反应。关于您的答案,不可能向容器添加路由,因为容器内部无法访问主机的NIC接口?!7732135373dd:/#路由添加默认gw 10.209.198.237->SIOCADDRT:网络不可访问确实很明显,但您如何断言每个容器使用不同的网关?