← Все статьи

Docker: ошибка «server gave HTTP response to HTTPS client» и очистка места

Автор: Юрий Нефёдов, системный инженер · 31.08.2023 · обновлено 24.10.2026

Две частые задачи при работе с Docker: подключить собственный реестр образов без HTTPS и освободить место, которое съели старые образы и контейнеры. Полный справочник команд — в документации Docker.

Ошибка «server gave HTTP response to HTTPS client»

При загрузке образа из внутреннего реестра появляется ошибка:

Error response from daemon: Get : http: server gave HTTP response to HTTPS client

Docker по умолчанию обращается к реестрам только по HTTPS, а ваш реестр работает по обычному HTTP. Нужно явно разрешить его в файле /etc/docker/daemon.json. Если файла нет, создайте его; если есть, добавьте ключ к существующим настройкам, а не заменяйте файл целиком:

{
  "insecure-registries" : ["repo:5000"]
}

Вместо repo:5000 укажите адрес и порт своего реестра, затем перезапустите Docker:

systemctl restart docker

HTTP передаёт образы без шифрования, поэтому так стоит делать только во внутренней сети. Для постоянной работы лучше выпустить реестру сертификат.

Как освободить место на диске

Сначала посмотрите, что сколько занимает:

docker system df

Остановить ненужные контейнеры и удалить всё неиспользуемое:

docker stop container1 container2 ...
docker system prune -a --volumes

Будьте осторожны: docker system prune -a --volumes удаляет все остановленные контейнеры, все образы, которые не используются запущенными контейнерами, и все тома без контейнеров. Если в томах лежат данные, например база, они пропадут. Без ключа --volumes тома не трогаются.

Нужна помощь с настройкой?

Если задача сложнее, чем в статье, напишите мне. Первая консультация бесплатная.