Wir empfehlen, beim Booten mit Docker für Windows auf eine Batchdatei zu doppelklicken und sie als WSL2-Volume bereitzustellen.
Im folgenden Beispiel wird ein Container-Image mit einem Batch-Dateinamen gestartet. Wenn Sie den Namen der Batch-Datei ändern, ändert sich das zu startende Container-Image.
buildpack-deps.bat
@setlocal
@set "WORK=/root/workspace"
@cd /d "%~dp0"
@set "IMG=%~n0"
@if "%~0" == "%~f0" set "pause_if_error=@if errorlevel 1 pause"
@for %%i in ( "%CD%" ) do @set "WSL2CD=%%~di"
@for %%i in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do @call set "WSL2CD=%%WSL2CD:%%~i=%%~i%%"
@for %%i in ( "%CD%" ) do @call set "WSL2CD=%%WSL2CD:~0,-1%%%%~pnxi"
@set "WSL2CD=/mnt/%WSL2CD:\=/%"
wsl -e docker run -it --rm -w "%WORK%" -v "%WSL2CD%:%WORK%" %IMG% %*
%pause_if_error%
@exit /b %errorlevel%
Der Einhängepunkt wird direkt in @ set" WORK = / root / workspace "
geschrieben. Schreiben Sie ihn daher entsprechend um.
Um das Bild zu reparieren, schreiben Sie @set" IMG =% ~ n0 "
neu.
Da die Distribution von wsl nicht angegeben ist, fügen Sie die Option wsl entsprechend hinzu, wenn Sie sie angeben möchten.
Windows10 1909 Docker version 19.03.13, build 4484c46d9d
Gehen Sie beim Starten von Docker den Befehl wsl durch. Das Volume gibt den Pfad auf wsl an. Bei der Ausführung von "WSL2CD" wird der Windows-Pfad in den WSL-Pfad konvertiert.
Damit verschwindet die Warnung und es ist erfrischend!