Ich versuchte heute, mein Visual Studio Code zur Zusammenarbeit mit Docker/WSL2 unter Windows zu überreden.
Rief ich den Remote-Explorer auf, um dort das Projekt im Container zu starten, lief das ein paar Sekunden, bevor das mit einer Fehlermeldung quittiert wurde:
[41 ms] Start: Resolving remote [44 ms] Setting up container for folder or workspace: c:\Development\production\\backend [78 ms] Start: Run: git rev-parse --show-toplevel [177 ms] Start: Check Docker is running [177 ms] Start: Run: docker info [354 ms] Start: Run: docker ps -q -a --filter label=vsch.local.folder=c:\Development\production\project\backend --filter label=vsch.quality=stable [532 ms] Start: Run: docker inspect --type container 9421bbf320e9 [705 ms] Start: Starting container [705 ms] Start: Run: docker start 9421bbf320e9523d75addccbc5873ad11f955e30e7890a551fa751c8a24e3476 [1276 ms] Start: Run: docker ps -q -a --filter label=vsch.local.folder=c:\Development\production\project\backend --filter label=vsch.quality=stable [1444 ms] Start: Run: docker inspect --type container 9421bbf320e9 [1596 ms] Start: Inspecting container [1596 ms] Start: Run: docker inspect --type container 9421bbf320e9523d75addccbc5873ad11f955e30e7890a551fa751c8a24e3476 [1815 ms] Start: Run: docker exec -i -u root -e VSCODE_REMOTE_CONTAINERS_SESSION=02399e9f-0fce-4e73-bc3b-70335ebe40f81592919014589 9421bbf320e9523d75addccbc5873ad11f955e30e7890a551fa751c8a24e3476 /bin/sh [1827 ms] Start: Run in container: uname -m [2083 ms] x86_64 [2083 ms] [2083 ms] Start: Run in container: (cat /etc/os-release || cat /usr/lib/os-release) 2>/dev/null [2089 ms] NAME="Ubuntu" VERSION="20.04 LTS (Focal Fossa)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 20.04 LTS" VERSION_ID="20.04" HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" VERSION_CODENAME=focal UBUNTU_CODENAME=focal [2089 ms] [2090 ms] Start: Run in container: cat /etc/passwd [2096 ms] Start: Setup shutdown monitor [2103 ms] Forking shutdown monitor: c:\Users\mb\.vscode\extensions\ms-vscode-remote.remote-containers-0.122.1\dist\shutdownMonitorProcess \\.\pipe\vscode-remote-containers-bd00377ed20e978c99fc33148d42601fd9463341-sock singleContainer Info c:\Users\mb\AppData\Roaming\Code\logs\20200623T152610\exthost1\ms-vscode-remote.remote-containers [2116 ms] Start: Run in container: test -d /root/.vscode-server [2146 ms] [2147 ms] [2147 ms] Start: Run in container: set -o noclobber ; mkdir -p '/root/.vscode-server/data/Machine' && { > '/root/.vscode-server/data/Machine/.writeMachineSettingsMarker' ; } 2> /dev/null [2158 ms] [2158 ms] [2158 ms] Exit code 2 [2159 ms] Start: Run in container: test -d /root/.vscode-server/bin/cd9ea6488829f560dc949a8b2fb789f3cdc05f5d [2162 ms] [2162 ms] [2162 ms] Exit code 1 [2163 ms] Installing VS Code Server for commit cd9ea6488829f560dc949a8b2fb789f3cdc05f5d [2163 ms] Start: Run in container: mkdir -p /root/.vscode-server/bin/cd9ea6488829f560dc949a8b2fb789f3cdc05f5d_1592919018063 [2169 ms] [2169 ms] [2171 ms] Start: Run: docker exec -i -u root -w /root/.vscode-server/bin/cd9ea6488829f560dc949a8b2fb789f3cdc05f5d_1592919018063 9421bbf320e9523d75addccbc5873ad11f955e30e7890a551fa751c8a24e3476 tar --no-same-owner -xz --strip-components 1 [2466 ms] [2466 ms] unknown shorthand flag: 'w' in -w See 'docker exec --help'. [2470 ms] Command failed: tar --no-same-owner -xz --strip-components 1
Ich habe dann mal die Docker-Versionen verglichen (WSL2 und Kommandozeile) und habe bei der Versionsnummer einen deutlichen Unterschied wahrgenommen:
Command line (cmd):
C:\Users\mb>docker version Client: Version: 17.09.0-ce API version: 1.32 Go version: go1.8.3 Git commit: afdb6d4 Built: Tue Sep 26 22:40:09 2017 OS/Arch: windows/amd64 Server: Version: 19.03.8 API version: 1.40 (minimum version 1.12) Go version: go1.12.17 Git commit: afacb8b Built: Wed Mar 11 01:29:16 2020 OS/Arch: linux/amd64 Experimental: false
WSL shell:
mb@mum-mz-nb-02:~$ docker version Client: Docker Engine - Community Version: 19.03.8 API version: 1.40 Go version: go1.12.17 Git commit: afacb8b7f0 Built: Wed Mar 11 01:25:46 2020 OS/Arch: linux/amd64 Experimental: false Server: Docker Engine - Community Engine: Version: 19.03.8 API version: 1.40 (minimum version 1.12) Go version: go1.12.17 Git commit: afacb8b Built: Wed Mar 11 01:29:16 2020 OS/Arch: linux/amd64 Experimental: false containerd: Version: v1.2.13 GitCommit: 7ad184331fa3e55e52b890ea95e65ba581ae3429 runc: Version: 1.0.0-rc10 GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd docker-init: Version: 0.18.0 GitCommit: fec3683
Rief ich docker in jeweiliger Umgebung auf, wurde das auch mit einem Fehler in der cmd quittiert:
cmd:
C:\Users\mb>docker exec -w unknown shorthand flag: 'w' in -w See 'docker exec --help'.
wsl2:
mb@mum-mz-nb-02:~$ docker exec -w flag needs an argument: 'w' in -w See 'docker exec --help'.
Ich deinstallierte also Docker Desktop (nachdem ein drüber installieren nichts bewirkte) und stellte dann fest, dass es da noch 2 Hinterlassenschaften gab, die da eigentlich nicht mehr sein sollten:

Also löschte ich das Verzeichnis, installierte den Docker Desktop erneut und siehe da, der Befehl war nun aktuell in der Kommandozeile:
C:\Users\mb>docker version Client: Docker Engine - Community Version: 19.03.8 API version: 1.40 Go version: go1.12.17 Git commit: afacb8b Built: Wed Mar 11 01:23:10 2020 OS/Arch: windows/amd64 Experimental: false Server: Docker Engine - Community Engine: Version: 19.03.8 API version: 1.40 (minimum version 1.12) Go version: go1.12.17 Git commit: afacb8b Built: Wed Mar 11 01:29:16 2020 OS/Arch: linux/amd64 Experimental: false containerd: Version: v1.2.13 GitCommit: 7ad184331fa3e55e52b890ea95e65ba581ae3429 runc: Version: 1.0.0-rc10 GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd docker-init: Version: 0.18.0 GitCommit: fec3683 C:\Users\mb>docker exec -w flag needs an argument: 'w' in -w See 'docker exec --help'.
Und siehe danach, danach lies sich Visual Studio Code auch zur Zusammenarbeit mit Docker überreden 😉