Docker容器内不能联网的 6 种解决方案

作者:佚名 2019-12-24 08:49:06云计算通信技术 下面的方法是在容器内能 ping 通公网 IP 的解决方案,如果连公网 IP 都 ping 不通,那主机可能也上不了网(尝试ping 8.8.8.8)。

注:下面的方法是在容器内能 ping 通公网 IP 的解决方案,如果连公网 IP 都 ping 不通,那主机可能也上不了网(尝试ping 8.8.8.8)。

[[286543]]

1. 使用 –net:host 选项

    sudodockerrun–net:host–nameubuntu_bash-i-tubuntu:latest/bin/bash

2. 使用 –dns 选项

    sudodockerrun–dns8.8.8.8–dns8.8.4.4–nameubuntu_bash-i-tubuntu:latest/bin/bash

3. 改dns server

    vi/etc/default/docker#去掉“docker_OPTS=”–dns8.8.8.8–dns8.8.4.4″”前的#号

4. 不用dnsmasq

    vi/etc/NetworkManager/NetworkManager.conf#在dns=dnsmasq前加个#号注释掉,然后sudorestartnetwork-managersudorestartdocker

5. 重建docker0网络

    pkilldockeriptables-tnat-Fifconfigdocker0downbrctldelbrdocker0docker-d

6. 直接在docker内修改/etc/hosts