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

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         #清空nat表的所有链
ifconfig docker0 down    #停止docker默认网桥
brctl delbr docker0       #删除网桥
docker -d

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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对菜鸟教程(cainiaojc.com)的支持。如果你想了解更多相关内容请查看下面相关链接

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#cainiaojc.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。