在docker容器内ping ip地址能通,但是ping域名的时候报错
检查docker的DNS服务器
进入容器
docker exec -it <id or name> /bin/bash
查看DNS服务器是否正确
cat /etc/resolv.conf
修改DNS服务器
a. docker内修改;在/etc/resolv.conf添加一下内容;这种方法只能修改单个docker容器
nameserver 8.8.8.8
nameserver 114.114.114.114
b. 宿主机内修改。这种方法之后创建的docker容器都会生效
vi /etc/docker/daemon.json
# 添加下面内容
{
"dns": ["8.8.8.8","114.114.114.114"]
}
# 重启docker
systemctl restart docker
检查宿主机是否开启转发功能
查看宿主机是否开启
cat /proc/sys/net/ipv4/ip_forward
如果返回的结果为