WSL или Docker сообщает, что виртуализация недоступна
Бэкенду WSL 2 нужны аппаратная виртуализация и Virtual Machine Platform, а не полноценный компонент Hyper-V, который используется альтернативным бэкендом Hyper-V в Docker. Начните со следующих проверок:- В Диспетчере задач → Производительность → ЦП Windows проверьте, что указано Виртуализация: Включено. Если она отключена, включите Intel VT-x/VMX или AMD-V/SVM в BIOS/UEFI, следуя инструкциям производителя вашего ПК.
- В PowerShell от имени администратора проверьте компоненты Windows:
- Если компоненты и настройка BIOS включены, но ошибка
0x80370102сохраняется, проверьте в PowerShell от имени администратора:
Off, восстановите запуск гипервизора и перезагрузите Windows:
- Если сама Windows работает в виртуальной машине, внешний гипервизор должен предоставлять вложенную виртуализацию (nested virtualization). Одно лишь включение флажка в Windows не может добавить отсутствующие функции виртуального процессора.
Docker Desktop требует обновления или не может загрузить образы
При сообщении WSL update required выполнитеwsl --update в PowerShell, перезагрузите Windows, если потребуется, затем снова откройте Docker Desktop и Ubuntu. Если в строке Ubuntu по-прежнему указана WSL 1, преобразуйте дистрибутив, как описано в шаге 0.
При тайм-аутах реестра, ошибках DNS, прокси или сертификатов найдите в выводе загрузки конкретный реестр, к которому не удаётся обратиться. Если этого требует ваша сеть, настройте прокси и доверие к сертификатам в Windows/Docker Desktop; не отключайте проверку TLS. Успешное клонирование с GitHub не доказывает, что Docker может обратиться к ghcr.io или Docker Hub. См. настройки прокси Docker Desktop. Когда подключение заработает, снова выполните bin/up -d; настроенные имена образов должны оставаться согласованными.
Docker недоступен в Ubuntu
Если командаdocker не найдена, откройте Docker Desktop в Windows, включите Ubuntu в разделе Settings → Resources → WSL Integration, примените изменение и снова откройте Ubuntu. Проверьте имя дистрибутива и режим WSL с помощью wsl --list --verbose в PowerShell. Дистрибутив должен использовать WSL 2.
Если клиент есть, но не может подключиться к демону, проверьте, что движок завершил запуск. Изучите docker context ls и любые пользовательские настройки DOCKER_HOST/DOCKER_CONTEXT; удалённый движок или сокет старого Engine в Ubuntu — это не локальная конфигурация Desktop из этого руководства. Не исправляйте это установкой ещё одного демона или открытием сокета на запись для всех.
MongoDB не запускается
bin/up инициализирует набор реплик MongoDB перед запуском приложения. Если процесс останавливается на Waiting for Mongo..., изучите базу данных во втором терминале Ubuntu:
mongo отсутствует, а в выводе есть ошибка загрузки образа, сначала решите проблему с доступом к реестру или местом на диске: до запуска базы данных дело ещё не дошло. После устранения причины снова выполните bin/up -d.
Когда MongoDB запущена, проверьте набор реплик:
1. bin/up -d выполняет начальную настройку набора реплик; прямой запуск сервисов Compose в новом развертывании пропускает этот шаг Toolkit.
Применяйте обходной путь для ядра в MongoDB, только если ваш движок Docker использует затронутое ядро. Если журналы MongoDB указывают на проблему с ядром, сравните фактическое ядро движка с production notes MongoDB и при необходимости обновите WSL/Docker. Никогда не стирайте data/mongo в качестве универсального способа исправить запуск.
Windows не может открыть localhost
Сначала проверьте в Ubuntu:OVERLEAF_PORT, OVERLEAF_SITE_URL и URL в браузере, а затем выполнить bin/up -d.
Изолированные компиляции завершаются ошибкой
Проверьте все три составляющие: образ есть в этом движке Docker, приложение может использовать сокет движка, а соседний (sibling) контейнер может смонтировать каталог компиляции:config/variables.env. SERVER_PRO=true, SIBLING_CONTAINERS_ENABLED=true и DOCKER_SOCKET_PATH=/var/run/docker.sock задаются в config/overleaf.rc. После изменений выполните bin/up -d; одна лишь команда bin/start не обновляет окружение контейнера.
Ошибка No such image означает, что Docker не может найти именно тот образ, который запрашивает проект. Поддерживайте согласованность TEX_LIVE_DOCKER_IMAGE и ALL_TEX_LIVE_DOCKER_IMAGES, загрузите образ в тот же движок и проверьте выбор TeX Live в проекте. Существующие проекты могут сохранять выбор более старого образа.
При ошибке монтирования или пустом каталоге /compile убедитесь, что Toolkit находится в домашнем каталоге Ubuntu, а интеграция Docker Desktop включена для того же дистрибутива. Не заменяйте путь хоста WSL путём Windows вида C:\.... Toolkit вычисляет путь для соседнего контейнера на основе OVERLEAF_DATA_PATH.
Отсутствие ctexart.cls или шрифта в базовом образе — это ограничение пакетов/образа. Сначала проверьте простую статью из шага 6; для проектов, которым нужны дополнительные пакеты, используйте более полный образ. Не отключайте песочницу, чтобы исправить отсутствие пакета TeX.
Скрипты оболочки сообщают об ошибках CRLF
Запускайте скрипты в Ubuntu Bash. Редактируйте конфигурацию с окончаниями строк LF. Ошибки с упоминаниемbash\r или $'\r' обычно означают, что файлы были преобразованы в формат Windows CRLF. Восстановите затронутый скрипт из репозитория или преобразуйте окончания его строк, сохранив локальные изменения конфигурации.
Контейнеры исчезают после перезапуска
Проверьте, что Docker Desktop запущен и интеграция с Ubuntu включена.docker ps показывает только запущенные контейнеры; проверьте также docker ps -a. Если движок отличается от того, который использовался при установке, переключитесь обратно на правильный контекст, а не инициализируйте ещё одну пустую установку.
Если контейнеры есть, но остановлены, выполните bin/start и изучите журналы. Сведения о запуске при входе в систему, политиках перезапуска и настройках спящего режима Windows см. в разделе Обеспечение доступности экземпляра.
