注:下面的方法是在容器内能 ping 通公网 IP 的解决方案,如果连公网 IP 都 ping 不通,那主机可能也上不了网(尝试ping 8.8.8.8)。
1. 使用 –net:host 选项
- sudo docker run –net:host –name ubuntu_bash -i -t ubuntu:latest /bin/bash
2. 使用 –dns 选项
- sudo docker run –dns 8.8.8.8–dns 8.8.4.4–name ubuntu_bash -i -t ubuntu:latest /bin/bash
3. 改dns server
- vi /etc/default/docker
- # 去掉“docker_OPTS=”–dns 8.8.8.8 –dns 8.8.4.4″”前的#号
4. 不用dnsmasq
- vi /etc/
- NetworkManager
- /
- NetworkManager
- .conf
- # 在dns=dnsmasq前加个#号注释掉,然后
- sudo restart network-manager
- sudo restart docker
5. 重建docker0网络
- pkill docker
- iptables -t nat -F
- ifconfig docker0 down
- brctl delbr docker0
- docker -d
6. 直接在docker内修改/etc/hosts