docker
network_error
ai_generated
true
ERROR: could not resolve host: registry-1.docker.io; Temporary failure in name resolution
ID: docker/resolv-conf-dns-resolution-timeout
90%Fix Rate
88%Confidence
1Evidence
2023-11-20First Seen
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| Docker 24.0.6 | active | — | — | — |
| Docker 25.0.1 | active | — | — | — |
| Ubuntu 22.04 | active | — | — | — |
Root Cause
Docker daemon or container DNS configuration points to a non-functional or unreachable DNS server, often due to corporate VPN or misconfigured /etc/resolv.conf.
generic中文
Docker 守护进程或容器 DNS 配置指向了无法工作或不可达的 DNS 服务器,通常由于公司 VPN 或 /etc/resolv.conf 配置错误。
Official Documentation
https://docs.docker.com/config/daemon/#dns-settingsWorkarounds
-
90% success Set DNS in Docker daemon config: edit /etc/docker/daemon.json and add 'dns': ['8.8.8.8', '1.1.1.1'], then restart docker.
Set DNS in Docker daemon config: edit /etc/docker/daemon.json and add 'dns': ['8.8.8.8', '1.1.1.1'], then restart docker.
-
85% success Use --dns flag per container: docker run --dns 8.8.8.8 your_image
Use --dns flag per container: docker run --dns 8.8.8.8 your_image
-
80% success If using VPN, configure Docker to use host's DNS via /etc/docker/daemon.json: 'dns': ['<vpn_dns_ip>', '8.8.8.8']
If using VPN, configure Docker to use host's DNS via /etc/docker/daemon.json: 'dns': ['<vpn_dns_ip>', '8.8.8.8']
中文步骤
Set DNS in Docker daemon config: edit /etc/docker/daemon.json and add 'dns': ['8.8.8.8', '1.1.1.1'], then restart docker.
Use --dns flag per container: docker run --dns 8.8.8.8 your_image
If using VPN, configure Docker to use host's DNS via /etc/docker/daemon.json: 'dns': ['<vpn_dns_ip>', '8.8.8.8']
Dead Ends
Common approaches that don't work:
-
sudo resolvectl flush-caches
80% fail
Flushing DNS cache on host does not affect Docker's internal DNS resolution.
-
echo 'nameserver 8.8.8.8' > /etc/resolv.conf
60% fail
Adding a public DNS like 8.8.8.8 to /etc/resolv.conf may be overwritten by Docker or network manager.
-
sudo systemctl restart docker
70% fail
Restarting docker daemon without fixing DNS config will repeat the same issue.