2017-07-18 4 views
1

J'utilise vSwitch ouvert (avec DPDK) pour communiquer avec mes machines. J'ai 2 PC physique. Nginx travaille sur l'un d'entre eux et son ip = 10.10.10.6/24. Ouvrez vSwitch et Docker fonctionne sur l'autre machine. Je crée un pont via cette commande:Problème de connexion entre le conteneur Docker et l'autre machine

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

Et j'ajouter un port à port physique via cette commande qui utilise pilote dpdk et connecté à la machine Ngnix avec un câble:

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

Et assigner une adresse IP à l'br0:

ifconfig br0 10.10.10.11 netmask 255.255.255.0 up 

Après cela, je crée un conteneur en utilisant mon image:

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 

et exécutez le conteneur en utilisant la commande suivante:

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

Après cela, j'assigne un port au conteneur en utilisant la commande suivante:

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

Après tout cela étapes ma machine nginx ping sur le conteneur et le ping ping nginx.

Mais lorsque j'essaie de wget 10.10.10.6:80, le conteneur ne peut pas se connecter. Mais d'un autre côté, ma machine physique (ip: 10.10.10.11) peut le faire. Quand j'exécute la même commande (wget), il obtient la page de 10.10.10.6:80.

Qu'est-ce que je fais mal?

Répondre

1

J'attrape enfin le problème de problème.Le déleste tcp sur le docker container.When je ferme le déchargement tcp via cette commande:

ethtool -K eth6 tx off rx off 

Tout fonctionne très bien.

La prochaine fois, essayez de trouver une solution au lieu de trouver une excuse s'il vous plaît.

+0

"La prochaine fois essayer de trouver une solution au lieu de trouver une excuse s'il vous plaît." Votre question est un hors-sujet ici (comme @ jww a commenté), donc pas d'offense s'il vous plaît. –