注:下面的方法是在容器内能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

本文提供了多种解决Docker容器无法正常访问互联网的问题方案,包括使用--net:host选项、配置DNS服务器、禁用dnsmasq等方法。
2万+

被折叠的 条评论
为什么被折叠?



