Docker容器内不能联网的 6 种解决方案
注:下面的方法是在容器内能 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
后台回复“加群”,带你进入高手如云交流群
推荐阅读:
10T 技术资源大放送!包括但不限于:云计算、虚拟化、微服务、大数据、网络、Linux、Docker、Kubernetes、Python、Go、C/C++、Shell、PPT 等。在公众号内回复「1024」,即可免费获取!!