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 😉