
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.
2.
vi /etc/default /docker
去掉“docker_OPTS="--dns 8.8.8.8 --dns 8.8.4.4"”前的#号
4.不用 dnsmasq
1.
2.
3.
4.
5.
vi /etc/NetworkManager/NetworkManager.conf
在 dns=dnsmasq 前加个#号注释掉
sudo restart network-manager
sudo restart docker
5.重建 docker0 网络
1.
2.
3.
4.
5.
pkill docker
iptables -t nat -F
ifconfig docker0 down
brctl delbr docker0
docker -d
6.直接在 docker 内修改/etc/hosts
【编辑推荐】
1.
2.
3.
4.
5.
Docker 1.5 新特性:支持 IPV6、只读容器、容器运行监控,还有彩蛋
完美应对企业生产环境的挑战,Docker 是否已做好准备?
赞!Docker 生态系统常用组件介绍 开启快乐开发之旅
Java 开发人员:如何穿过 Docker 现象这片"丛林"
应对 SUID 程序带来隐患,增强 Docker 程序安全