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获得页面。
我在做什么错?
“下一次尝试寻找解决方案,而不是找借口请。”你的问题在这里是一个题外话(因为@jww评论),所以没有罪行。 –