2017-07-18 149 views
1

我正在使用打开的vSwitch(与DPDK)来通信我的机器。我有2台物理PC。 Nginx正在研究其中的一个,它的ip = 10.10.10.6/24。 Open vSwitch和Docker正在另一台机器上工作。我从这个命令创建一个桥:Docker容器与其他机器之间的连接问题

ovs-vsctl add-br br0 -- set bridge br0 datapath_type=netdev 

我从这个命令其使用DPDK驱动程序添加一个端口到物理端口和连接到Ngnix机器与电缆:

ovs-vsctl add-port br0 dpdk0 -- set Interface dpdk0 \ 
     type=dpdk options:dpdk-devargs=0000:05:00.1 

并分配一个IP到BR0:

ifconfig br0 10.10.10.11 netmask 255.255.255.0 up 

这之后,我用我的形象创建容器:

Dockerfile:

FROM ubuntu:latest 
MAINTAINER Zekeriya Akgul 


RUN apt-get update -y && \ 
    apt-get upgrade -y && \ 
    apt-get install -y apache2 iputils-ping iputils-tracepath iproute2 net-tools wget 

EXPOSE 80 443 444 

而且使用下面的命令运行容器:

docker run --rm -P -it --cap-add NET_ADMIN --name ubuntu1 zkryakgul/ubuntu /bin/bash 

在此之后我将端口分配到使用以下命令容器:

ovs-docker add-port br0 eth1 attacker1 --ipaddress=10.10.10.12/24 

这一切后,让我的nginx机器ping容器和容器ping nginx。

但是,当我尝试wget 10.10.10.6:80,容器无法连接。但另一方面,我的物理机器(ip:10.10.10.11)可以。当我运行相同的命令(wget)时,它从10.10.10.6:80获得页面。

我在做什么错?

回答

1

我终于赶上problem.The问题是container.When我通过这个命令关闭TCP卸载码头工人TCP卸载:

ethtool -K eth6 tx off rx off 

,一切工作正常。

下一次尝试找到解决方案,而不是找借口请。

+0

“下一次尝试寻找解决方案,而不是找借口请。”你的问题在这里是一个题外话(因为@jww评论),所以没有罪行。 –

相关问题