Linux 服务器(非容器环境)
编辑 DNS 配置文件:
sudo vi /etc/resolv.conf
添加公共 DNS 服务器(如国内可用的 114DNS 或阿里云 DNS):
nameserver 114.114.114.114 # 国内通用DNS
nameserver 223.5.5.5 # 阿里云DNS
nameserver 8.8.8.8 # Google DNS(需确保网络可访问)
保存后,重启网络服务(根据系统不同命令可能不同):
# 适用于systemd系统(如Ubuntu 16.04+、CentOS 7+)
sudo systemctl restart systemd-resolved
# 适用于老版本CentOS
sudo service network restart
检查 Docker 网络转发配置
如果宿主机网络正常但容器网络隔离,可能是 Docker 的网络转发未开启:
# 检查宿主机是否开启IP转发
sysctl net.ipv4.ip_forward
# 若输出为0,需开启:
sudo sysctl -w net.ipv4.ip_forward=1
# 永久生效(重启后保留):
sudo echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sudo sysctl -p
Docker 守护进程设置DNS
编辑 Docker 守护进程配置
sudo vi /etc/docker/daemon.json
如果文件不存在则创建,添加以下内容:
{
"dns": ["114.114.114.114", "223.5.5.5", "8.8.8.8"]
}
重启 Docker 服务
sudo systemctl daemon-reload
sudo systemctl restart docker