You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker拉取镜像时auth.ipv6.docker.com解析失败问题求助

问题:Docker拉取镜像时解析auth.ipv6.docker.com失败(已禁用IPv6)

在Debian 12(内核版本Linux thyhates 6.1.0-11-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.38-4 (2023-08-08) x86_64 GNU/Linux)和macOS系统中,已禁用IPv6且未设置代理,但执行Sentry自建脚本./install.sh或直接运行docker run hello-world时,均出现Docker镜像拉取失败,核心错误为无法解析auth.ipv6.docker.com主机。

Debian系统错误日志

#3 [internal] load metadata for docker.io/library/debian:bullseye-slim
#3 ERROR: failed to authorize: failed to fetch anonymous token: Get "https://auth.ipv6.docker.com/token?scope=repository%3Alibrary%2Fdebian%3Apull&service=registry.docker.io": dial tcp: lookup auth.ipv6.docker.com on 8.8.8.8:53: no such host
------
 > [internal] load metadata for docker.io/library/debian:bullseye-slim:
------
Dockerfile:1
--------------------
   1 | >>> FROM debian:bullseye-slim
   2 |
   3 |     LABEL MAINTAINER="oss@sentry.io"
--------------------
ERROR: failed to solve: debian:bullseye-slim: failed to authorize: failed to fetch anonymous token: Get "https://auth.ipv6.docker.com/token?scope=repository%3Alibrary%2Fdebian%3Apull&service=registry.docker.io": dial tcp: lookup auth.ipv6.docker.com on 8.8.8.8:53: no such host

macOS系统错误日志

Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: Head "https://registry-1.docker.io/v2/library/hello-world/manifests/latest": Get "https://auth.ipv6.docker.com/token?account=thyhates&scope=repository%3Alibrary%2Fhello-world%3Apull&service=registry.docker.io": dialing auth.ipv6.docker.com:443 with direct connection: resolving host auth.ipv6.docker.com: lookup auth.ipv6.docker.com: no such host.
See 'docker run --help'.

排查与解决方案

1. 强制Docker daemon禁用IPv6

即使系统层面禁用了IPv6,Docker daemon可能仍保留IPv6相关配置,需手动强制关闭:

  • Debian:编辑/etc/docker/daemon.json,添加或修改配置:
    {
      "ipv6": false,
      "fixed-cidr-v6": ""
    }
    
    保存后重启Docker服务:sudo systemctl restart docker
  • macOS:打开Docker Desktop偏好设置 → Docker Engine,添加上述配置,点击"Apply & Restart"

2. 清除Docker与系统DNS缓存

DNS缓存过期或污染可能导致解析失败:

  • Debian:
    1. 清除Docker内部DNS缓存:docker run --rm --privileged alpine:latest nscd -i hosts
    2. 清除系统DNS缓存:sudo systemd-resolve --flush-caches
  • macOS:
    1. 重启Docker Desktop自动清除内部缓存
    2. 清除系统DNS缓存:sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

3. 手动指定Docker Registry端点

强制Docker使用IPv4的Registry端点,避免触发IPv6相关解析:
编辑daemon.json添加以下配置:

{
  "registry-mirrors": ["https://registry-1.docker.io"]
}

保存后重启Docker服务。

4. 更换系统DNS服务器

当前使用的DNS服务器(如8.8.8.8)可能无法解析auth.ipv6.docker.com,尝试更换为其他公共DNS:

  • Cloudflare DNS:1.1.1.1、1.0.0.1
  • 阿里DNS:223.5.5.5、223.6.6.6
    更换后执行对应系统的DNS缓存清除操作。

内容的提问来源于stack exchange,提问作者Zhipu Liao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 10:07:17