Linux 服务器(非容器环境)

  1. 编辑 DNS 配置文件:

sudo vi /etc/resolv.conf
  1. 添加公共 DNS 服务器(如国内可用的 114DNS 或阿里云 DNS):

nameserver 114.114.114.114  # 国内通用DNS
nameserver 223.5.5.5        # 阿里云DNS
nameserver 8.8.8.8          # Google DNS(需确保网络可访问)
  1. 保存后,重启网络服务(根据系统不同命令可能不同):

# 适用于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

  1. 编辑 Docker 守护进程配置

sudo vi /etc/docker/daemon.json

如果文件不存在则创建,添加以下内容:

{
  "dns": ["114.114.114.114", "223.5.5.5", "8.8.8.8"]
}
  1. 重启 Docker 服务

sudo systemctl daemon-reload
sudo systemctl restart docker