代码之家  ›  专栏  ›  技术社区  ›  Zekeriya Akgül

Docker容器和其他机器之间的连接问题

  •  1
  • Zekeriya Akgül  · 技术社区  · 7 年前

    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
    

    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
    

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

    我做错了什么?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Zekeriya Akgül    7 年前

    我终于明白了这个问题。问题是docker容器上的tcp卸载。当我通过此命令关闭tcp卸载时:

    ethtool -K eth6 tx off rx off
    

    一切正常。