WSL of Docker meldt dat virtualisatie niet beschikbaar is
De WSL 2-backend heeft hardwarevirtualisatie en Virtual Machine Platform nodig, niet de volledige Hyper-V-functie die door de alternatieve Hyper-V-backend van Docker wordt gebruikt. Begin met deze controles:- Controleer in Windows onder Taakbeheer → Prestaties → CPU of Virtualisatie: Ingeschakeld wordt getoond. Als die is uitgeschakeld, schakel dan Intel VT-x/VMX of AMD-V/SVM in BIOS/UEFI in volgens de instructies van de fabrikant van je pc.
- Controleer in PowerShell als administrator de Windows-onderdelen:
- Als de onderdelen en de BIOS-instelling zijn ingeschakeld maar fout
0x80370102blijft, controleer dan in PowerShell als administrator:
Off meldt, herstel dan het opstarten van de hypervisor en start Windows opnieuw op:
- Als Windows zelf in een VM draait, moet de buitenste hypervisor geneste virtualisatie beschikbaar stellen. Alleen een selectievakje in Windows inschakelen kan ontbrekende virtuele CPU-functies niet leveren.
Docker Desktop heeft een update nodig of kan geen images ophalen
Voer bij WSL update requiredwsl --update uit in PowerShell, start Windows opnieuw op als daarom wordt gevraagd, en open daarna Docker Desktop en Ubuntu opnieuw. Als de rij van Ubuntu nog steeds WSL 1 aangeeft, converteer de distributie dan zoals beschreven in stap 0.
Controleer bij time-outs van de registry, DNS-, proxy- of certificaatfouten welke registry precies faalt in de uitvoer van het ophalen. Configureer de proxy en het certificaatvertrouwen van Windows/Docker Desktop als je netwerk die nodig heeft; schakel TLS-verificatie niet uit. Een geslaagde GitHub-kloon bewijst niet dat Docker ghcr.io of Docker Hub kan bereiken. Zie de proxy-instellingen van Docker Desktop. Zodra de verbinding werkt, voer je bin/up -d opnieuw uit; de geconfigureerde imagenamen moeten consistent blijven.
Docker is niet beschikbaar in Ubuntu
Alsdocker niet wordt gevonden, open dan Docker Desktop in Windows, schakel Ubuntu in onder Settings → Resources → WSL Integration, pas de wijziging toe en open Ubuntu opnieuw. Controleer de naam en WSL-modus van de distributie met wsl --list --verbose in PowerShell. Die moet WSL 2 gebruiken.
Als de client bestaat maar de daemon niet kan bereiken, controleer dan of de engine volledig is gestart. Bekijk docker context ls en eventuele aangepaste DOCKER_HOST/DOCKER_CONTEXT-instellingen; een externe engine of een oude Engine-socket in Ubuntu is niet de lokale Desktop-opzet van deze handleiding. Los dit niet op door een andere daemon te installeren of de socket voor iedereen schrijfbaar te maken.
MongoDB start niet
bin/up initialiseert de replica set van MongoDB voordat de applicatie start. Als het stopt bij Waiting for Mongo..., bekijk dan de database in een tweede Ubuntu-terminal:
mongo ontbreekt en de uitvoer een fout bij het ophalen van de image toont, los dan eerst de toegang tot de registry of het gebrek aan schijfruimte op; het opstarten van de database is dan nog niet bereikt. Zodra de oorzaak is verholpen, voer je bin/up -d opnieuw uit.
Controleer de replica set wanneer MongoDB draait:
1 zijn. bin/up -d voert de initiële configuratie van de replica set uit; door Compose-services op een nieuwe deployment rechtstreeks te starten, sla je die stap van de Toolkit over.
Pas een MongoDB-kernelworkaround alleen toe als je Docker-engine een getroffen kernel gebruikt. Als de MongoDB-logs op een kernelprobleem wijzen, vergelijk dan de werkelijke kernel van de engine met de productienotities van MongoDB en werk WSL/Docker waar nodig bij. Wis data/mongo nooit als algemene oplossing voor opstartproblemen.
Windows kan localhost niet openen
Test eerst in Ubuntu:OVERLEAF_PORT, OVERLEAF_SITE_URL en de browser-URL, gevolgd door bin/up -d.
Sandbox-compilaties mislukken
Controleer alle drie de onderdelen: de image bestaat in deze Docker-engine, de applicatie kan de engine-socket gebruiken, en de sibling-container kan de compilatiemap mounten:config/variables.env. SERVER_PRO=true, SIBLING_CONTAINERS_ENABLED=true en DOCKER_SOCKET_PATH=/var/run/docker.sock horen in config/overleaf.rc. Voer na wijzigingen bin/up -d uit; bin/start alleen werkt de omgeving van de container niet bij.
Een No such image-fout betekent dat Docker de exacte image die dat project vraagt niet kan vinden. Houd TEX_LIVE_DOCKER_IMAGE en ALL_TEX_LIVE_DOCKER_IMAGES consistent, haal de image op in dezelfde engine en controleer de TeX Live-selectie van het project. Bestaande projecten kunnen een oudere imagekeuze behouden.
Controleer bij een mountfout of een lege /compile-map of de Toolkit onder de thuismap van Ubuntu staat en of de integratie van Docker Desktop voor diezelfde distributie is ingeschakeld. Vervang het WSL-hostpad niet door een Windows-pad C:\.... De Toolkit berekent het pad voor de sibling-container op basis van OVERLEAF_DATA_PATH.
Een ontbrekend ctexart.cls of lettertype bij basic is een beperking van het pakket/de image. Controleer eerst het eenvoudige artikel uit stap 6; gebruik een uitgebreidere image voor projecten die extra pakketten nodig hebben. Schakel sandboxing niet uit om een ontbrekend TeX-pakket op te lossen.
Shellscripts melden CRLF-fouten
Voer de scripts uit in Ubuntu Bash. Bewerk de configuratie met LF-regeleinden. Fouten diebash\r of $'\r' noemen, betekenen meestal dat bestanden zijn geconverteerd naar Windows-CRLF. Herstel het betreffende script uit de repository of converteer de regeleinden ervan, met behoud van lokale configuratiewijzigingen.
Containers verdwijnen na een herstart
Controleer of Docker Desktop draait en of de Ubuntu-integratie is ingeschakeld.docker ps toont alleen draaiende containers; bekijk ook docker ps -a. Als de engine een andere is dan die tijdens de installatie werd gebruikt, schakel dan terug naar de juiste context in plaats van nog een lege installatie te initialiseren.
Voer bij containers die aanwezig maar gestopt zijn bin/start uit en bekijk de logs. Volg De instantie beschikbaar houden voor opstarten bij aanmelding, restartbeleid en de slaapstandinstellingen van Windows.
