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

Posted yangzhenping

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
ifconfig docker0 down
brctl delbr docker0
docker -d

 

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

以上是关于Docker容器内不能联网的6种解决方案的主要内容,如果未能解决你的问题,请参考以下文章

Docker 端口 问题排查思路

Docker 端口 问题排查思路

Docker的四种网络模式和相关网络命令等操作

Docker的四种网络模式和相关网络命令等操作

使用docker容器时 不能访问互联网

局域网内能telnet,局域网外能ping但不能Telnet?