Ошибка Docker: тело ответа HTTP 408: недопустимый символ '<' ищет начало значения

Когда я иду docker pull hello-world Я получаю следующее сообщение об ошибке:

Error response from daemon: error parsing HTTP 408 response body: invalid character '<' looking for beginning of value: "<html><body><h1>408 Request Time-out</h1>\nYour browser didn't send a complete request in time.\n</body></html>\n\n"

Установленная версия Docker:

Client:
 Version:      1.11.2
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   b9f10c9
 Built:        Wed Jun  1 21:47:50 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.11.2
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   b9f10c9
 Built:        Wed Jun  1 21:47:50 2016
 OS/Arch:      linux/amd64

Устанавливается с использованием: curl -fsSL https://get.docker.com/ | sh

Я гарантировал, что сеть существует, и я могу добраться до других сайтов. Пожалуйста помоги

Обновление 1: проблема не может быть в установке MTU, потому что я мог вытащить образы из концентратора Docker несколько дней назад на той же машине.

Проблема также не может быть HTTP_PROXY, потому что я нахожусь в моей домашней сети

7 ответов

Решение

Сообщение об ошибке немного вводит в заблуждение. Проблема заключалась не в том, что был недопустимый символ, но сеть была неправильно настроена. У меня был один интерфейс LAN и один интерфейс WLAN.

Интерфейс локальной сети подключается к маршрутизатору A, который направляет запросы маршрутизатору B, подключенному к Интернету. Хотя интерфейс WLAN был напрямую подключен к маршрутизатору B. Я забыл удалить конфигурацию WLAN.

Как только я убедился, что интерфейс WLAN удален, все прошло гладко.

Вкратце: гарантированное разрешение DNS работает и MTU настроен правильно

Я сталкивался с этой проблемой пару раз с платами Raspberry Pi, работающими под управлением различных версий Debian/Raspbian (информация о модели RPi была получена cat /proc/cpuinfo | grep Model):

  • Raspberry Pi Model B Rev 1с Raspbian на основе Debian 11 (яблочко)
  • Raspberry Pi 4 MOdel B Rev 1.4с Debian 10 (бастер)

В обоих случаях работает docker run --rm hello-worldпривело к 408Код состояния HTTP, указанный в исходном вопросе в этой теме:

      $ docker run --rm hello-world
Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: error parsing 
HTTP 408 response body: invalid character '<' 
looking for beginning of value: "<html><body>
<h1>408 Request Time-out</h1>\nYour browser 
didn't send a complete request in time.\n</body>
</html>\n".
See 'docker run --help'.

Решение (отмеченное @Romaan как отступление заключалось в настройке MTU. Я сделал это следующим образом: user1707750

      sudo ip link set dev eth0 mtu 1400
docker run --rm hello-world

и hello-worldконтейнер был успешно извлечен и выполнен.

Примеры постоянной настройки MTU для сетевого интерфейса в Debian можно найти здесь .

Это сообщение об ошибке выглядит так, как будто оно исходит от прокси-сервера. Из докера вытащить документацию

Конфигурация прокси

Если вы находитесь за прокси-сервером HTTP, например, в корпоративных настройках, прежде чем открывать соединение с реестром, вам может потребоваться настроить параметры прокси-сервера демона Docker, используя переменные среды HTTP_PROXY, HTTPS_PROXY и NO_PROXY. Чтобы установить эти переменные среды на хосте с помощью systemd, обратитесь к элементу управления и настройте Docker с systemd для конфигурации переменных.

Ссылка на инструкции по настройке systemd с прокси проста.

Это действительно подключение к Интернету. Изменить МТУ.

      ip link set dev [interface] mtu [size]
ip enp1s0 mtu 1000 up

Вы можете получить информацию об устройстве, используя

      ip a

Я столкнулся с этой проблемой на Ubuntu. Мне удалось решить эту проблему, отключившись от NordVPN:

      $ nordvpn disconnect
You are disconnected from NordVPN.

Кажется, VPN каким-то образом замедлил трафик dockerhub и прервал мои загрузки докеров.

Проблема была решена после уменьшения mtu до 900 с помощью приведенной ниже команды.

      ip link set dev [interface] mtu [size]

Существует высокая вероятность того, что это вызвано проблемами с подключением к Интернету, попробуйте повторить запуск, когда подключение к Интернету будет стабильным.

Другие вопросы по тегам