Ответ 1
Изменен параметр DNS-сервера 8.8.8.8, и он сработал.
Я создал учетную запись док-станции и попытался подключиться к ней, чтобы нажать изображение. Я получаю следующую ошибку:
>>>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
Любая идея, как преодолеть это?
Изменен параметр DNS-сервера 8.8.8.8, и он сработал.
В моем случае (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
Эта проблема иногда периодически возникает на докере:
Если вы получите эту ошибку и не заблокированы прокси-сервером, выполните следующие действия:
Перезапустить докер-машину
docker-machine restart default
Сбросить значение по умолчанию env
eval $(docker-machine env default)
Если вы попробуете еще раз, вы обнаружите, что все работает нормально.
Я столкнулся с той же проблемой для win 10 pro. После обоих изменений я смог войти в систему и вытащить изображения.
Если вы хотите использовать Linux в качестве контейнера. (У вашего устройства должен быть пароль для входа в систему)
Щелкните правой кнопкой мыши значок док-кита и → переключитесь в контейнер Linux.
Перейдите в раздел "Настройки", выберите общие диски и выберите "D" или "C" или и то, и другое.
Введите пароль пользователя Windows и сохраните изменения.
У меня такая же проблема, а затем я решил проблему, настроив среду docker http_proxy, потому что я за корповым прокси: https://docs.docker.com/engine/admin/systemd/#http-proxy
Я была такая же проблема. Моим решением было указать правильный параметр репозитория. Я зарегистрировался на 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.
Mac High Sierra/Docker 18:
В моем случае мне пришлось выпустить моего пользователя Docker (прямо в меню Docker).
Docker 18/Windows 10:
В разделе "Настройки"> "Сеть"> "Северный DNS" выберите "Исправить" и введите IP-адрес вашего DNS-сервера.
В настройках Docker → Network я переключил настройку DNS-сервера на "Fixed", как на скриншоте ниже, и это сработало!
Если вы в Linux. Вы можете изменить имя nameserver
в /etc/resolv.conf
. Установите для сервера имен значение 8.8.8.8
. Перезапустите докера-демона. sudo systemctl restart docker
.
В 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)
У меня возникла та же проблема, я просто перезапустил докер-сервис, и он отлично работает для меня
Перезапуск докера службы $ sudo
$ docker login
Откройте значок док-кита и перезапустите докер.
Я только что переключился с Mac на корпоративную машину с Windows 10, поэтому переход к графическому интерфейсу Docker не был очевиден, мне пришлось развернуть символ ("^"), а затем щелкнуть правой кнопкой мыши значок Docker:
Я выбрал "Настройки" в меню правой кнопки мыши, чтобы открыть графический интерфейс Docker. В графическом интерфейсе Docker я щелкнул Прокси и добавил (реальный) адрес прокси моей компании:
Также следует отметить, что я смог войти в наш внутренний репозиторий и 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"
}
Там нет прокси в моей настройке, так что это было решено с помощью простого перезапуска докера. Это можно легко сделать с помощью Cli или GUI
Определите в конфигурации вашей операционной системы хоста стандартный шлюз для адаптера док-станции, а также один для DNS. Это решило проблему для меня.