Ошибки

Cannot connect to the Docker daemon: как запустить Docker

Команда docker не нашла работающую службу Docker. На сервере её нужно запустить, на своём компьютере — открыть Docker Desktop. Ниже — как проверить и что делать, если служба не стартует.

Обновлено 10.10.2026≈ 5 мин чтения
Содержание 10

Как выглядит ошибка

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

В Docker 29, если файла сокета нет вовсе, сообщение другое, но смысл тот же:

failed to connect to the docker API at unix:///var/run/docker.sock; check if the path is correct and if the daemon is running: dial unix /var/run/docker.sock: connect: no such file or directory

Обе ошибки значат, что служба Docker не работает. Если в сообщении есть слова permission denied — это другая ошибка: нет прав на сокет.

Шаг 1. Посмотрите, работает ли служба

Команды на этой странице вводятся на сервере: подключитесь к нему по SSH (как подключиться) и набирайте их в том же окне.

sudo systemctl status docker

Если система спросит пароль, введите пароль своего пользователя на сервере. Символы при вводе не видны — так и должно быть: наберите пароль и нажмите Enter.

  • Active: active (running) — служба работает. Переходите к разделу «Служба работает, а ошибка есть».
  • inactive (dead) — служба остановлена. Переходите к шагу 2.
  • failed — служба запускалась, но упала. Переходите к шагу 3.
  • Unit docker.service could not be found. — на сервере нет самой службы Docker, стоит только команда docker. Установите Docker — раздел «Если Docker не установлен».

Чтобы вернуться к вводу команд после systemctl status, нажмите клавишу Q.

Шаг 2. Запустите Docker

sudo systemctl start docker

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

docker version

В ответе должен появиться раздел Server. Чтобы Docker сам запускался после перезагрузки сервера, включите автозапуск:

sudo systemctl enable docker

Шаг 3. Если служба не запускается — смотрите журнал

sudo journalctl -u docker -n 50 --no-pager

Ищите строки со словами error или failed ближе к концу. Если там есть слова unable to configure the Docker daemon with file /etc/docker/daemon.json, служба не смогла прочитать свой файл настроек. Это случается после его правки — например, когда настраивали логи. Откройте файл (как работать в редакторе — в разделе про nano):

sudo nano /etc/docker/daemon.json

Файл записан в формате JSON. Проверьте: всё содержимое в фигурных скобках, названия и текстовые значения в двойных кавычках, между настройками — запятая, а после последней настройки запятой нет. Пример правильного файла:

{
  "log-driver": "local"
}

Сохраните файл — Ctrl+O, Enter, затем Ctrl+X — и запустите Docker снова: sudo systemctl start docker.

Служба работает, а ошибка есть

Команда docker могла быть направлена на другой адрес. Проверьте переменную DOCKER_HOST:

echo $DOCKER_HOST

Если команда вывела адрес, а вы его не задавали, уберите переменную в текущем окне:

unset DOCKER_HOST

Если после переподключения адрес вернулся, найдите строку с DOCKER_HOST в файле ~/.bashrc и удалите её:

nano ~/.bashrc

Ещё проверьте контекст Docker:

docker context ls

Звёздочкой отмечен текущий. Для Docker на этом же сервере нужен контекст default:

docker context use default

Если Docker не установлен

Проще всего поставить Docker из пакетов Ubuntu — вместе с Compose:

sudo apt update
sudo apt install docker.io docker-compose-v2

Сам Docker советует ставить его из своего репозитория — по официальной инструкции для Ubuntu. Выберите один способ: пакеты из разных источников конфликтуют. Подробнее о выборе — в статье VPS для разработчика: Docker на сервере.

На своём компьютере: Docker Desktop

На Mac и Windows службу Docker запускает приложение Docker Desktop. Откройте его: на Mac — из папки «Программы», на Windows — из меню «Пуск». Дождитесь, пока Docker Desktop запустится, и повторите команду. Пока приложение закрыто, команды docker в терминале выдают эту ошибку.

Если сайт на обычном хостинге

На обычном хостинге Docker нет: для него нужен свой сервер — VPS — с доступом root.

Тексты ошибок сверены с исходным кодом Docker 29.1.3 — эта версия ставится из пакетов Ubuntu 24.04. В Docker 28 и более старых версиях часть сообщений звучит иначе.

Источники

Сверено 10 октября 2026 года.

Что почитать дальше

Проверено и обновлено: 10.10.2026