Ошибка в docker pull (linux): "запрос отменен во время ожидания соединения (превышено значение Client.Timeout при ожидании заголовков) "
Тип проблемы
-- ошибка
При попытке вытащить Docker контейнеры из я сталкиваюсь с этой ошибкой:
Использование тега по умолчанию: последний Ответ об ошибке от демона: Получить https://registry-1.docker.io/v2/: net / http: запрос отменен при ожидании соединения (Client.Timeout превышен при ожидании заголовков)
## OS version
Ubuntu 18.04 (bionic)
## Docker version
Client:
Version: 18.09.4
API version: 1.39
Go version: go1.10.8
Git commit: d14af54266
Built: Wed Mar 27 18:35:44 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 18.09.4
API version: 1.39 (minimum version 1.12)
Go version: go1.10.8
Git commit: d14af54
Built: Wed Mar 27 18:01:48 2019
OS/Arch: linux/amd64
Experimental: false
Действия по воспроизведению
docker pull hello-world
Я не за прокси или vpn (что, кажется, проблема в других сообщениях, которые я видел об этой ошибке)
Я попытался найти исправление, но безрезультатно. service docker restart
не решает проблему. Я обнаружил, что добавление "nameserver 8.8.8.8" в etc/resolv.conf временно решает проблему, но resolv.conf автоматически переписывается / обновляется до старой версии, так что это не идеальное решение. В прошлом я мог извлекать образы докеров из концентратора докеров на этом компьютере и в моей текущей сети, поэтому предположительно некоторые настройки были изменены, что вызвало эту проблему. Любая помощь приветствуется! Спасибо большое.
,
Если это уместно, вот вывод из docker info
:
Containers: 2
Running: 0
Paused: 0
Stopped: 2
Images: 9
Server Version: 18.09.4
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: bb71b10fd8f58240ca47fbb579b9d1028eea7c84
runc version: 2b18fe1d885ee5083ef9f0838fee39b62d653e30
init version: fec3683
Security Options:
apparmor
seccomp
Profile: default
Kernel Version: 4.15.0-1035-oem
Operating System: Ubuntu 18.04.2 LTS
OSType: linux
Architecture: x86_64
CPUs: 12
Total Memory: 31.05GiB
Name: ###(redacted)###
ID: ###(redacted)###
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
Product License: Community Engine
WARNING: No swap limit support
Выход из dig index.docker.io
используя 127.0.0.53 (по умолчанию в resolv.conf)
; <<>> DiG 9.11.3-1ubuntu1.5-Ubuntu <<>> index.docker.io
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57173
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;index.docker.io. IN A
;; ANSWER SECTION:
index.docker.io. 300 IN CNAME elb-io.us-east-1.aws.dckr.io.
elb-io.us-east-1.aws.dckr.io. 899 IN CNAME us-east-1-elbio-rm5bon1qaeo4-623296237.us-east-1.elb.amazonaws.com.
us-east-1-elbio-rm5bon1qaeo4-623296237.us-east-1.elb.amazonaws.com. 59 IN A 52.207.42.240
us-east-1-elbio-rm5bon1qaeo4-623296237.us-east-1.elb.amazonaws.com. 59 IN A 3.91.211.1
us-east-1-elbio-rm5bon1qaeo4-623296237.us-east-1.elb.amazonaws.com. 59 IN A 52.54.178.62
;; Query time: 404 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Mon Apr 15 09:36:42 MDT 2019
;; MSG SIZE rcvd: 212
Выход из dig index.docker.io
используя 8.8.8.8
; <<>> DiG 9.11.3-1ubuntu1.5-Ubuntu <<>> index.docker.io
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37695
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;index.docker.io. IN A
;; ANSWER SECTION:
index.docker.io. 133 IN CNAME elb-io.us-east-1.aws.dckr.io.
elb-io.us-east-1.aws.dckr.io. 837 IN CNAME us-east-1-elbio-rm5bon1qaeo4-623296237.us-east-1.elb.amazonaws.com.
us-east-1-elbio-rm5bon1qaeo4-623296237.us-east-1.elb.amazonaws.com. 56 IN A 52.207.42.240
us-east-1-elbio-rm5bon1qaeo4-623296237.us-east-1.elb.amazonaws.com. 56 IN A 3.91.211.1
us-east-1-elbio-rm5bon1qaeo4-623296237.us-east-1.elb.amazonaws.com. 56 IN A 52.54.178.62
;; Query time: 19 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Mon Apr 15 09:49:22 MDT 2019
;; MSG SIZE rcvd: 212
1 ответ
Вероятно, не проблема с вашей установкой Docker.
Если изменение DNS на 8.8.8.8 решит проблему, то, возможно, вы получите адрес, отличный от 8.8.8.8, чем у вашей обычной службы DNS. Ты можешь использовать dig
чтобы получить адрес, используя обе конфигурации:
dig index.docker.io
; <<>> DiG 9.10.3-P4-Ubuntu <<>> index.docker.io
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28068
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;index.docker.io. IN A
;; ANSWER SECTION:
index.docker.io. 926 IN CNAME elb-io.us-east-1.aws.dckr.io.
elb-io.us-east-1.aws.dckr.io. 926 IN CNAME us-east-1-elbio-rm5bon1qaeo4-623296237.us-east-1.elb.amazonaws.com.
us-east-1-elbio-rm5bon1qaeo4-623296237.us-east-1.elb.amazonaws.com. 926 IN A 52.54.178.62
us-east-1-elbio-rm5bon1qaeo4-623296237.us-east-1.elb.amazonaws.com. 926 IN A 3.91.211.1
us-east-1-elbio-rm5bon1qaeo4-623296237.us-east-1.elb.amazonaws.com. 926 IN A 52.207.42.240
;; Query time: 2 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Sun Apr 14 09:15:20 CEST 2019
;; MSG SIZE rcvd: 214
Если вы не хотите менять свой DNS, вы все равно можете добавить один из указанных выше адресов в свой /etc/hosts
, это не будет сброшено при перезагрузке. Конечно, это не позволяет вам использовать другие серверы в кластере, и указанный вами адрес может стать недействительным.
Если у вас стандартный DNS в resolv.conf
127.0.0. что-то, ваша система, вероятно, настроена на использование под управлением NetworkManager dsnmasq
: DNS-запросы обрабатываются службой в вашей системе, которая перенаправляет их в различные DNS. Вы можете узнать фактический используемый DNS (DNS установлен для сетевого интерфейса), используя:
nmcli dev show | grep DNS
А затем продолжите поиск медленного / недействительного DNS оттуда.