V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
quadrapop
V2EX  ›  Docker

[求助] docker 容器无法连接外网,折腾了好久没搞定。

  •  
  •   quadrapop · 2022-10-15 17:50:55 +08:00 · 1220 次点击
    这是一个创建于 773 天前的主题,其中的信息可能已经有所发展或是发生改变。

    尝试了网上各种方法还是不行,请大家帮忙看看是哪里的原因

    宿主机配置

    主机防火墙未开启

    brctl show

    docker0         8000.8aa94e25aa49       no              vethdd1f0f9
    

    ip addr

    docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
        link/ether 8a:a9:4e:25:aa:49 brd ff:ff:ff:ff:ff:ff
        inet 172.17.10.1/24 scope global docker0
           valid_lft forever preferred_lft forever
        inet6 fe80::18c9:95ff:fe72:fa1e/64 scope link 
           valid_lft forever preferred_lft forever
    

    docker daemon.json

    {
      "registry-mirrors": ["https://3laho3y3.mirror.aliyuncs.com"],
      "graph": "/home/docker/lib",
      "bip":"172.17.10.1/24",
      "dns":["114.114.114.114"]
    }
    

    主机 ipv4 转发开启

    sysctl -p
    vm.nr_hugepages = 1208
    vm.nr_hugepages = 1208
    vm.nr_hugepages = 1208
    net.ipv4.ip_forward = 1
    

    docker 容器

    ip route

    bash-5.1# ip route
    default via 172.17.10.1 dev eth0 
    172.17.10.0/24 dev eth0 scope link  src 172.17.10.2 
    

    dns 配置

    bash-5.1# cat /etc/resolv.conf 
    nameserver 114.114.114.114
    

    ping 外网、域名不通

    bash-5.1# ping 114.114.114.114
    PING 114.114.114.114 (114.114.114.114): 56 data bytes
    ^C
    --- 114.114.114.114 ping statistics ---
    26 packets transmitted, 0 packets received, 100% packet loss
    bash-5.1# curl baidu.com
    curl: (6) Could not resolve host: baidu.com
    

    重启网络、docker 服务、重建 docker 网络都不行,实在不知道是哪里问题-_-

    6 条回复    2022-10-15 21:23:03 +08:00
    quadrapop
        1
    quadrapop  
    OP
       2022-10-15 18:03:49 +08:00
    主机 docker 网络:
    docker network ls
    NETWORK ID NAME DRIVER SCOPE
    3154d2c4d83a bridge bridge local
    f97d9dbaf6d4 host host local
    ba95ad441d74 none null local
    leonshaw
        2
    leonshaw  
       2022-10-15 18:10:43 +08:00
    iptables?
    quadrapop
        3
    quadrapop  
    OP
       2022-10-15 18:15:26 +08:00
    @leonshaw 防火墙没开,也没有 ipatables 服务
    leonshaw
        4
    leonshaw  
       2022-10-15 18:21:16 +08:00
    @quadrapop docker 默认会配 iptables ,想出去至少要有 NAT
    quadrapop
        5
    quadrapop  
    OP
       2022-10-15 21:16:42 +08:00
    @leonshaw 按照网上的办法在 docker 内禁用了 iptables 也不行,来来回回重载网络,重启 docker ,删除容器,重新启动容器,不知道怎么回事,配置还是和原来一样,自己好了,里面可以上外网了-_-
    RatioPattern
        6
    RatioPattern  
       2022-10-15 21:23:03 +08:00
    以前 centos8 还得配个
    ```
    firewall-cmd --zone=public --add-masquerade --permanent
    firewall-cmd reload
    service docker restart
    ```
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1057 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 22:05 · PVG 06:05 · LAX 14:05 · JFK 17:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.