Помилка на Debian 12 docker: Cannot connect to the Docker daemon at unix:///home/user/.docker/desktop/docker.sock. Is the docker daemon running?

Помилка Cannot connect to the Docker daemon at unix:///home/user/.docker/desktop/docker.sock. Is the docker daemon running? вказує на те, що Docker-клієнт не може з’єднатися з Docker daemon (демоном), який відповідає за запуск контейнерів Docker. Зазвичай, ця помилка виникає з таких причин:

  1. Docker daemon не запущений.
  2. Неправильний шлях до сокета Docker daemon.
  3. Недостатньо прав для доступу до сокета.

Як виправити цю помилку на Debian 12:

  1. Перевірте, чи запущений Docker daemon:
    Виконайте команду:

    sudo systemctl status docker
    

    Якщо Docker не запущений, побачите щось на кшталт “inactive (dead)” або “failed”. У такому разі запустіть його командою:

    sudo systemctl start docker
    

    Щоб увімкнути Docker для автоматичного запуску після перезавантаження системи, виконайте:

    sudo systemctl enable docker
    
  2. Переконайтеся, що використовуєте правильний сокет:
    Стандартний шлях до сокета Docker daemon зазвичай /var/run/docker.sock, а не /home/ruby45/.docker/desktop/docker.sock.
    Якщо ви використовуєте Docker Desktop, можливі специфічні налаштування, але в звичайному випадку краще спробувати виконати команду з правильним шляхом:

    export DOCKER_HOST=unix:///var/run/docker.sock
    

    Або додайте цей рядок до вашого .bashrc або .zshrc, щоб зміни застосовувалися автоматично при кожному запуску терміналу.

  3. Додайте свого користувача до групи docker (щоб уникнути необхідності запускати Docker з sudo):

    sudo usermod -aG docker $USER
    

    Після цього потрібно або перезавантажити систему, або вийти і знову зайти в систему, щоб зміни вступили в силу.

  4. Перезапустіть Docker daemon:
    Іноді просто перезапуск Docker може допомогти вирішити проблему:

    sudo systemctl restart docker
    

Перевірка

Після виконання цих кроків, перевірте роботу Docker за допомогою команди:

docker info

або спробуйте запустити тестовий контейнер:

docker run hello-world

Якщо помилка зникла, це означає, що Docker успішно налаштовано.