Ошибка подключения к концентратору Docker

Я создал учетную запись док-станции и попытался подключиться к ней, чтобы нажать изображение. Я получаю следующую ошибку:

>>>docker login -u <username> -p <password>

Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

Я запустил это, и я получил следующее сообщение:

>>>curl https://registry-1.docker.io/v2/
{"errors":[{"code":"UNAUTHORIZED","message":"authentication required","detail":null}]}

Также:

>>> env | grep -i proxy

не дал результата (означает, что у меня нет настроек прокси-сервера?)

>>> docker version
Client:
Version:      1.12.3
API version:  1.24
Go version:   go1.6.3
Git commit:   6b644ec
Built:        Wed Oct 26 22:01:48 2016
OS/Arch:      linux/amd64

Server:
Version:      1.12.3
API version:  1.24
Go version:   go1.6.3
Git commit:   6b644ec
Built:        Wed Oct 26 22:01:48 2016
OS/Arch:      linux/amd64

Любая идея, как преодолеть это?

Ответы

Ответ 1

Изменен параметр DNS-сервера 8.8.8.8, и он сработал.

enter image description here

Ответ 2

В моем случае (Ubuntu 16.04, Docker 18.01.0) я мог бы решить это, установив прокси-сервер, как показано ниже.

$ sudo mkdir -p /etc/systemd/system/docker.service.d
$ sudo vi /etc/systemd/system/docker.service.d/http_proxy.conf
[Service]
Environment="HTTP_PROXY=http://<your_proxy_ip>:<your_proxy_port>/"
$ sudo vi /etc/systemd/system/docker.service.d/https_proxy.conf
[Service]
Environment="HTTPS_PROXY=http://<your_proxy_ip>:<your_proxy_port>/"
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

Ответ 3

Эта проблема иногда периодически возникает на докере:

Если вы получите эту ошибку и не заблокированы прокси-сервером, выполните следующие действия:

  1. Перезапустить докер-машину

    docker-machine restart default
    
  2. Сбросить значение по умолчанию env

    eval $(docker-machine env default)
    

Если вы попробуете еще раз, вы обнаружите, что все работает нормально.

Ответ 4

Я столкнулся с той же проблемой для win 10 pro. После обоих изменений я смог войти в систему и вытащить изображения.

  1. Если вы хотите использовать окна в качестве контейнера. Щелкните правой кнопкой мыши значок док-кита и → перейдите в контейнер Windows.

windows as container

  1. Если вы хотите использовать Linux в качестве контейнера. (У вашего устройства должен быть пароль для входа в систему)

    • Щелкните правой кнопкой мыши значок док-кита и → переключитесь в контейнер Linux.

    • Перейдите в раздел "Настройки", выберите общие диски и выберите "D" или "C" или и то, и другое.

    • Введите пароль пользователя Windows и сохраните изменения.

linux as container

Ответ 6

Я была такая же проблема. Моим решением было указать правильный параметр репозитория. Я зарегистрировался на hub.docker.com. Поэтому я добавил его в качестве параметра для команды входа в докер:

docker login -u имя пользователя -p пароль hub.docker.com

Если у вас все еще есть ошибка, проверьте, не связана ли проблема с вашей прокси-сетью, используя следующую команду:

curl -I -x PROXY_USERID: PROXY_PASSWORD @YOUR_PROXY: PROXY_PORT http://google.com

Кроме того, я использовал ip-адрес вместо имени хоста, чтобы указать свой прокси-сервер, чтобы исключить ошибки DNS.

Если у вас возникла ошибка с завихрением, вам нужно настроить докеры http_proxy и https_proxy.

Ответ 7

Mac High Sierra/Docker 18:

В моем случае мне пришлось выпустить моего пользователя Docker (прямо в меню Docker).

Ответ 8

Docker 18/Windows 10:

В разделе "Настройки"> "Сеть"> "Северный DNS" выберите "Исправить" и введите IP-адрес вашего DNS-сервера.

Ответ 9

В настройках Docker → Network я переключил настройку DNS-сервера на "Fixed", как на скриншоте ниже, и это сработало!

enter image description here

Ответ 10

Если вы в Linux. Вы можете изменить имя nameserver в /etc/resolv.conf. Установите для сервера имен значение 8.8.8.8. Перезапустите докера-демона. sudo systemctl restart docker.

Ответ 11

В Linux (Ubuntu)

  • Изменить сетевой интерфейс

    nano /etc/network/interfaces
    
  • Замените dns-nameservers some_ip_address на dns-nameservers 8.8.8.8

    dns-nameservers 8.8.8.8
    
  • Перезапуск сети

    sudo systemctl restart networking
    

Примечание. Если google dns (dns-nameservers 8.8.8.8) не работает, используйте открытые dns (dns-nameservers 208.67.222.222)

Ответ 12

У меня возникла та же проблема, я просто перезапустил докер-сервис, и он отлично работает для меня

Перезапуск докера службы $ sudo

$ docker login

Ответ 13

Откройте значок док-кита и перезапустите докер.

Ответ 14

Я только что переключился с Mac на корпоративную машину с Windows 10, поэтому переход к графическому интерфейсу Docker не был очевиден, мне пришлось развернуть символ ("^"), а затем щелкнуть правой кнопкой мыши значок Docker:

Docker GUI

Я выбрал "Настройки" в меню правой кнопки мыши, чтобы открыть графический интерфейс Docker. В графическом интерфейсе Docker я щелкнул Прокси и добавил (реальный) адрес прокси моей компании:

Docker Proxy

Также следует отметить, что я смог войти в наш внутренний репозиторий и Docker Hub, чтобы я мог извлекать изображения из обоих мест - поэтому мой файл config.json выглядел (что-то) примерно так:

{
  "auths": {
    "company.internal.rep.com:9000": {},
    "https://index.docker.io/v1/": {}
  },
  "HttpHeaders": {
    "User-Agent": "Docker-Client/18.09.2 (windows)"
  },
  "credsStore": "wincred"
}

Ответ 15

Там нет прокси в моей настройке, так что это было решено с помощью простого перезапуска докера. Это можно легко сделать с помощью Cli или GUI

Ответ 16

Определите в конфигурации вашей операционной системы хоста стандартный шлюз для адаптера док-станции, а также один для DNS. Это решило проблему для меня.