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

注:下面的方法是在容器内能ping通公网IP的解决方案,如果连公网IP都ping不通,那主机可能也上不了网(尝试ping 8.8.8.8)

1.使用--net:host选项

  1. sudo docker run --net:host --name ubuntu_bash -i -t ubuntu:latest /bin/bash 

2.使用--dns选项

  1. 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

  1. vi /etc/default/docker 
  2. 去掉“docker_OPTS="--dns 8.8.8.8 --dns 8.8.4.4"”前的#号 

4.不用dnsmasq

  1. vi /etc/NetworkManager/NetworkManager.conf 
  2. 在dns=dnsmasq前加个#号注释掉 
  3. sudo restart network-manager 
  4. sudo restart docker 

5.重建docker0网络

  1. pkill docker 
  2. iptables -t nat -F 
  3. ifconfig docker0 down 
  4. brctl delbr docker0 
  5. docker -d 

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

posted @ 2018-04-23 16:32  NeilyoX  阅读(484)  评论(0编辑  收藏  举报