中国领先的IT技术网站
|
|

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

本文介绍了六种是在Docker容器内能ping通公网IP的解决方案,如果连公网IP都ping不通,那主机可能也上不了网(尝试ping 8.8.8.8)

作者:yangzhenping来源:yangzhenping的博客|2015-02-13 10:21

沙龙活动 | 去哪儿、陌陌、ThoughtWorks在自动化运维中的实践!10.28不见不散!


注:下面的方法是在容器内能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.  
  4. sudo restart network-manager 
  5. 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

【编辑推荐】

  1. Docker 1.5新特性:支持IPV6、只读容器、容器运行监控,还有彩蛋
  2. 完美应对企业生产环境的挑战,Docker是否已做好准备?
  3. 赞!Docker生态系统常用组件介绍 开启快乐开发之旅
  4. Java开发人员:如何穿过Docker现象这片"丛林"
  5. 应对SUID程序带来隐患,增强Docker程序安全
【责任编辑:Ophira TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Cisco CCNA 640-801

Cisco 640-801 Cisco® Certified Network Associate (CCNA®) Q&A with explanations Version 93.0...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
× Python最火的编程语言