- Вопрос или проблема
- Исследование
- Результат
- Ответ или решение
- Проблема: Docker Desktop на Ubuntu 22.04 застревает на стадии "Запуск"
- Шаг 1: Проверка установки Docker Desktop
- Шаг 2: Проверка прав доступа к Docker
- Шаг 3: Криптографическая проверка компонентов KVM
- Шаг 4: Исследование статуса демонов и сокетов
- Шаг 5: Диагностика
- Заключение
Вопрос или проблема
Исследование
Прежде чем отметить как дубликат, я провел свое исследование. Я также попробовал предложение добавить $USER в группу docker, и вышел из системы, снова вошел, даже перезагрузил, выполнил newgrp docker
, все это сделано здесь
Я просто сделал то, что написано здесь в документации для установки Docker Desktop через deb пакет, включая настройку репозитория здесь, плюс шаг постустановки, который упоминает о добавлении пользователя в группу docker. Обратите внимание, что я не устанавливал Docker Engine, потому что думал, что это не нужно для Docker Desktop, это правильно, да?
Кажется, у меня совершенно другая проблема
Результат
После установки я просто запускаю systemctl --user start docker-desktop
, что открывает DD (Docker Desktop), и он просто говорит “docker desktop starting .. “
Вот некоторые, возможно, связанные результаты в ходе моего исследования:
sudo docker run hello-world
docker: Невозможно подключиться к демону Docker по адресу unix:///var/run/docker.sock. Запущен ли демон docker?.
docker run hello-world
docker: Невозможно подключиться к демону Docker по адресу unix:///home/name/.docker/desktop/docker.sock. Запущен ли демон docker?.
См. 'docker run --help'.
ls -la /var/run/docker.sock
srw-rw---- 1 root docker 0 26 сен 22:53 /var/run/docker.sock
docker version
Ошибка ответа от демона: соединение unix docker.raw.sock: подключение: такого файла или директории нет
Клиент: Docker Engine - Community
Интеграция с облаком: v1.0.29
Версия: 20.10.18
Версия API: 1.41
Версия Go: go1.18.6
Коммит Git: b40c2f6
Сборка: Чт сен 8 23:11:43 2022
ОС/Архитектура: linux/amd64
Контекст: desktop-linux
Экспериментальный: true
service docker status
илиsudo systemctl restart docker
Юнит docker.service не найден.
Номер 5 действительно странный, я не нашел такого в других постах. Как исправить ошибку “Юнит docker.service не найден.”, здесь просто упоминают установку из snap, но это не мой случай.
Любая помощь будет очень признательна, я застрял на ~6 часов, пытаясь отладить это 🙏
Также недавно столкнулся с этой проблемой. Просто скопируйте и вставьте официальные инструкции здесь, на случай, если сайт изменится, и кому-то потребуется это конкретное решение.
Модуль kvm должен загружаться автоматически, если хост поддерживает виртуализацию. Для ручной загрузки модуля выполните:
$ modprobe kvm
В зависимости от процессора хост-машины, соответствующий модуль должен быть загружен:
$ modprobe kvm_intel # процессоры Intel
$ modprobe kvm_amd # процессоры AMD
Если вышеуказанные команды не работают, вы можете просмотреть диагностику, выполнив:
$ kvm-ok
Чтобы проверить, включены ли модули KVM, выполните:
$ lsmod | grep kvm kvm_amd 167936 0 ccp 126976 1 kvm_amd kvm 1089536 1 kvm_amd irqbypass 16384 1 kvmНастройте разрешения пользователя для устройства KVM
Чтобы проверить право собственности на /dev/kvm, выполните :
$ ls -al /dev/kvm
Добавьте своего пользователя в группу kvm, чтобы получить доступ к устройству kvm:
$ sudo usermod -aG kvm $USER
Выйдите из системы и войдите снова, чтобы ваша группа была переоценена.
Ответ или решение
Проблема: Docker Desktop на Ubuntu 22.04 застревает на стадии "Запуск"
Ситуация, при которой Docker Desktop не может перейти в рабочее состояние и зависает на экране "Docker Desktop Starting…", является распространенной и может быть вызвана рядом факторов. Давайте разберем вашу проблему более подробно и предложим возможные решения.
Шаг 1: Проверка установки Docker Desktop
Вы упомянули, что вы предприняли шаги для установки Docker Desktop согласно официальной документации, но не устанавливали Docker Engine. Хотя Docker Desktop должен работать без Docker Engine, убедитесь, что вы выполнили все запросы и предустановленные условия, указанные в документации:
-
Убедитесь, что система обновлена командой:
sudo apt update && sudo apt upgrade
-
Проверьте, установлены ли все необходимые зависимости для работы Docker Desktop, такие как
curl
,apt-transport-https
иca-certificates
.
Шаг 2: Проверка прав доступа к Docker
Ваша попытка выполнить команды sudo docker run hello-world
и docker run hello-world
возвращает ошибки, связанные с отсутствием соединения с демоном Docker. Это может указывать на проблемы с правами доступа или на то, что демон не запущен.
-
Убедитесь, что ваш пользователь добавлен в группу
docker
:sudo usermod -aG docker $USER
-
После этого вам необходимо выйти и войти в систему, чтобы изменения вступили в силу. Вы также можете выполнить команду:
newgrp docker
Шаг 3: Криптографическая проверка компонентов KVM
Docker Desktop для Linux зависит от виртуализации, которая обеспечивает KVM (Kernel-based Virtual Machine). Убедитесь, что виртуализация включена в BIOS и выполните следующие команды для проверки:
-
Проверьте установку KVM:
kvm-ok
-
Если KVM не установлен, загрузите модуль вручную:
sudo modprobe kvm
В зависимости от вашего процессора выполните одну из следующих команд:
sudo modprobe kvm_intel # для процессоров Intel sudo modprobe kvm_amd # для процессоров AMD
-
Проверьте права доступа к
/dev/kvm
:ls -al /dev/kvm
Если ваша учетная запись не имеет доступа, добавьте себя в группу
kvm
:sudo usermod -aG kvm $USER
И снова, не забудьте выйти и войти обратно в систему.
Шаг 4: Исследование статуса демонов и сокетов
Ваша команда service docker status
или sudo systemctl restart docker
возвращает ошибку "Unit docker.service could not be found". Это может указывать на то, что Docker Desktop использует собственный механизм управления, и служба Docker не устанавливается в этом случае.
Если вы все равно хотите использовать Docker Engine, убедитесь, что вы установили его:
sudo apt install docker.io
А затем выполните:
sudo systemctl enable docker
sudo systemctl start docker
Шаг 5: Диагностика
Для дальнейшей диагностики, включите детализированный уровень логирования для Docker Desktop. Логи можно найти:
~/.docker/desktop/data/log.log
Просмотрите логи на наличие ошибок или предупреждений, которые могут указывать на источник проблемы.
Заключение
Если ни одно из вышеуказанных решений не помогло, рекомендую удалить Docker Desktop и попытаться установить его снова, следуя инструкции с нуля, чтобы избежать возможных ошибок. Также не забудьте проверить официальные форумы и GitHub репозиторий Docker на наличие аналогичных проблем, где участники сообщества иногда сами могут предложить рабочие решения.
Если у вас есть дополнительные сведения или ошибки, не стесняйтесь делиться ими для более точной диагностики.