Проблема с демоном Docker после установки (и卸 установки) Docker Desktop

Вопрос или проблема

Я пытался установить Docker Desktop на свой ПК, и после этого проект, который у меня был, перестал работать, по всей видимости, из-за этого и Docker. После предположительной деинсталляции с помощью следующих команд:

dpkg -l | grep -i docker

sudo apt-get purge -y docker-engine docker docker.io docker-ce docker-ce-cli docker-compose-plugin
sudo apt-get autoremove -y --purge docker-engine docker docker.io docker-ce docker-compose-plugin

sudo rm -rf /var/lib/docker /etc/docker
sudo rm /etc/apparmor.d/docker
sudo groupdel docker
sudo rm -rf /var/run/docker.sock

Я снова попытался установить его с помощью sudo apt-get install docker.io, но получил проблему с зависимостями с containerd и runc. Мне удалось “предположительно” снова установить с помощью команд:

sudo apt-get remove containerd.io
sudo apt install docker.io docker-compose -y

Но теперь я не могу запустить простой контейнер, потому что получаю следующую ошибку, независимо от того, что я делаю:

docker: Не удается подключиться к Docker daemon по адресу unix:///home/mnemonic/.docker/desktop/docker.sock. Запущен ли Docker daemon? 
Смотрите 'docker run --help'.

Docker daemon действительно работает, если я проверяю его с помощью systemctl status. Я проверил права на Docker с помощью:

ls -l /home/mnemonic/.docker/desktop/docker.sock

И они верные. Я создал группу пользователей Docker и присоединился к ней. Я перезагружал и запускал Docker-сервис десятки раз, как и свой ПК. Я вручную запускал Docker daemon, но без результата.

Хорошо, я нашел решение. Похоже, что в Ubuntu и других дистрибутивах на основе Debian есть файл конфигурации Docker в формате JSON, который устанавливает “контекст” Docker на “docker-desktop”.

Я просто удалил эти 2 строки в $HOME/.docker/config.json:

credsStore
currentContext

Последняя строка, “currentContext”, была установлена на “docker-desktop”, который был удален.

Источник для этого решения был найден здесь:

https://github.com/docker/desktop-linux/issues/20

где вы можете найти комментарий пользователя, который приводит вас к:

https://docs.docker.com/desktop/uninstall/

Я люблю их.

Ответ или решение

Проблема с демон Docker после установки (и удаления) Docker Desktop

Описание проблемы

Вы столкнулись с проблемой, когда после установки и удаления Docker Desktop на вашем ПК проект перестал работать. После успешного удаления Docker и повторной установки через sudo apt-get install docker.io, вы получили ошибку при попытке запустить контейнер:

docker: Cannot connect to the Docker daemon at unix:///home/mnemonic/.docker/desktop/docker.sock. Is the docker daemon running?

Несмотря на то, что демон Docker запущен и права доступа к сокету корректны, проблема все еще возникала.

Решение

Выявлено, что проблема заключается в конфигурационном файле Docker на вашей системе. В Linux (в частности, на Ubuntu и других дистрибутивах Debian) существует JSON файл конфигурации, который может устанавливать контекст Docker на "docker-desktop", даже если вы удалили Docker Desktop.

Шаги для решения:

  1. Откройте конфигурационный файл:
    Вам нужно отредактировать файл конфигурации Docker, который расположен по следующему пути:

    $HOME/.docker/config.json
  2. Удалите ненужные строки:
    Найдите и удалите строки, связанные с credsStore и currentContext. Например:

    {
     "credsStore": "desktop",
     "currentContext": "docker-desktop"
    }

    Это может выглядеть как вышеуказанный пример. Убедитесь, что после редактирования файл не содержит указанных строк.

  3. Сохраните изменения:
    После редактирования файла сохраните изменения и закройте редактор.

  4. Перезапустите демон Docker:
    Рекомендуется перезапустить демон Docker для применения изменений. Используйте команду:

    sudo systemctl restart docker
  5. Проверьте соединение:
    Попробуйте запустить контейнер снова, используя команду:

    docker run hello-world

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

Заключение

Если после выполнения этих шагов проблема не устранена, стоит проверить, установлены ли у вас все зависимости, такие как containerd и runc. Убедитесь, что вы используете последние версии этих компонентов. Дополнительную информацию можно найти в документации Docker по проблемам с установкой или на страницах сообщества Docker.

Благодарю за внимание, и удачи в вашей работе с Docker!

Оцените материал
Добавить комментарий

Капча загружается...