Ошибки Docker: как найти причину по тексту сообщения
Docker пишет ошибки по-английски, но их легко узнать по ключевым словам. Найдите слова из своего сообщения в таблице — для каждой ошибки есть страница с исправлением по шагам.
Содержание 7
Найдите свою ошибку
Сравните своё сообщение с левой колонкой: достаточно, чтобы совпали слова из неё.
| Слова в сообщении | Что случилось | Что делать |
|---|---|---|
permission denied while trying to connect to the docker API или …Docker daemon socket | У вашего пользователя нет прав на Docker | Разбор |
Cannot connect to the Docker daemon или failed to connect to the docker API | Служба Docker не запущена | Разбор |
port is already allocated или address already in use | Порт на сервере уже занят | Разбор |
The container name "/…" is already in use | Контейнер с таким именем уже есть | Разбор |
exec format error, does not match the detected host platform или no matching manifest | Образ собран для процессора другой архитектуры | Разбор |
unknown command: docker compose или docker-compose: command not found | Не установлен Compose | Разбор |
pull access denied или manifest for … not found | Образ не найден: опечатка, нет такого тега или образ закрыт | Разбор |
no space left on device | Диск заполнен — Docker хранит образы, контейнеры и логи | Разбор |
| Ошибки нет, но порт контейнера открыт всему интернету | Docker открывает порты мимо правил ufw | Разбор |
Exited (1), Exited (137) или Restarting в docker ps -a | Программа в контейнере остановилась или упала | Разбор |
Как читать сообщение
Возьмём для примера ошибку запуска контейнера:
docker: Error response from daemon: Conflict. The container name "/web" is already in use by container "4f1c…". You have to remove (or rename) that container to be able to reuse that name.
Run 'docker run --help' for more informationdocker:в начале — ошибку вывела командаdocker run.Error response from daemon:— ошибку вернула служба Docker (её называют демоном, программа dockerd). Причина — в тексте после двоеточия.- Последняя строка
Run 'docker run --help'…— стандартная подсказка о справке. О причине она ничего не говорит.
Если слов Error response from daemon нет, а есть permission denied или Cannot connect, команда docker не смогла даже связаться со службой. С этого и начните: нет прав или служба не работает.
Работает ли Docker
Команды на этой странице вводятся на сервере: подключитесь к нему по SSH (как подключиться) и набирайте их в том же окне. Сначала выполните:
docker versionВ ответе два раздела. Client — программа docker, которой вы набираете команды. Server — служба Docker, которая выполняет их. Если раздел Server есть, служба работает и команды до неё доходят. Если после данных Client стоит ошибка, найдите её в таблице выше.
Состояние службы покажет команда:
sudo systemctl status dockerЕсли система спросит пароль, введите пароль своего пользователя на сервере. Символы при вводе не видны — так и должно быть: наберите пароль и нажмите Enter. Строка Active: active (running) значит, что Docker работает, а слова inactive (dead) или failed — что он остановлен или упал. Чтобы вернуться к вводу команд после systemctl status, нажмите клавишу Q.
Где искать причину
Почему не запускается сама служба Docker, сказано в её журнале. Последние 50 строк:
sudo journalctl -u docker -n 50 --no-pagerПочему остановился контейнер, видно в его логах: там всё, что программа внутри написала перед остановкой. В примерах контейнер называется web — подставьте имя своего контейнера. Имена видны в последней колонке NAMES команды docker ps -a.
docker logs --tail 50 webКак читать эти логи и код выхода, разобрано на странице контейнер сразу останавливается.
Если сайт на обычном хостинге
На обычном хостинге Docker нет: для него нужен свой сервер — VPS — с доступом root. Если нужна программа, которую ставят через Docker, посмотрите, нет ли её готовой в панели хостинга, или возьмите VPS — что настроить на нём сразу, рассказано в статье VPS для разработчика: Docker на сервере.
Тексты ошибок сверены с исходным кодом Docker 29.1.3 — эта версия ставится из пакетов Ubuntu 24.04. В Docker 28 и более старых версиях часть сообщений звучит иначе.
Источники
- Исходный код Docker 29.1.3: request.go — тексты ошибок подключения к Docker в версии 29.
- Исходный код Docker 29.1.3: errors.go — текст Cannot connect to the Docker daemon.
- Исходный код Docker CLI 29.1.3: run.go — как docker run выводит ошибку и выбирает код выхода.
- Исходный код Docker CLI 29.1.3: version.go — разделы Client и Server в docker version.
- Пакет Docker в Ubuntu 24.04: docker.io.docker.service — служба docker и её перезапуск после сбоя.
- Пакет docker.io в Ubuntu 24.04 — версия Docker в Ubuntu.
Сверено 10 октября 2026 года.
Что почитать дальше
Проверено и обновлено: 10.10.2026