在尝试利用docker内部dns解析github

首先需要进入docker命令行

docker ps

复制contatinerID ,替换下列占位符

 docker exec -it 【替换】 /bin/sh~ $ cat /etc/resolv.conf

进入docker命令符,进行常规ping看是否能ping通

ping -c 4 8.8.8.8
  • 如果成功:说明容器的基础网络是通的,问题基本可以确定在 DNS 解析上。我的ping通了

  • 如果失败 (e.g., Network is unreachable):说明容器的网络配置有严重问题,无法访问外部。你需要检查 Docker 的网络模式(bridge, host 等)或宿主机的防火墙规则。

尝试解析出错的域名

~ $ nslookup api.github.com
;; connection timed out; no servers could be reached

出错,就确认了是 DNS 问题

解决方法

打开docker desktop
在这里插入图片描述
插入,利用已知的dns进行解析即可

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "dns": [
    "8.8.8.8",
    "1.1.1.1"
  ]
}

发现可以执行

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐