docker / for-win

Bug reports for Docker Desktop for Windows
https://www.docker.com/products/docker#/windows
1.87k stars 291 forks source link

Unexpected WSL error #14420

Open scottdoorware opened 1 week ago

scottdoorware commented 1 week ago

Description

ID: 5841F4FB-BDAD-477D-8957-714183F28781/20241113054727

Docker Desktop - Unexpected WSL error An unexpected error occurred while executing a WSL command.

Either shut down WSL down with wsl --shutdown, and/or reboot your machine. You can also try reinstalling WSL and/or Docker Desktop. If the issue persists, collect diagnostics and submit an issue ⁠.

deploying WSL2 distributions ensuring data disk is available: exit code: 4294967295: running WSL command wsl.exe C:\WINDOWS\System32\wsl.exe --mount --bare --vhd \AppData\Local\Docker\wsl\disk\docker_data.vhdx: Invalid command line option: --mount

Copyright (c) Microsoft Corporation. All rights reserved.

Usage: wsl.exe [Argument] [Options...] [CommandLine]

Arguments for running Linux binaries:

If no command line is provided, wsl.exe launches the default shell.

--exec, -e <CommandLine>

    Execute the specified command without using the default Linux shell.

--

    Pass the remaining command line as is.

Options:

--cd <Directory>

    Sets the specified directory as the current working directory.

    If ~ is used the Linux user's home path will be used. If the path begins

    with a / character, it will be interpreted as an absolute Linux path.

    Otherwise, the value must be an absolute Windows path.

--distribution, -d <Distro>

    Run the specified distribution.

--user, -u <UserName>

    Run as the specified user.

Arguments for managing Windows Subsystem for Linux:

--help

    Display usage information.

--install [Options]

    Install additional Windows Subsystem for Linux distributions.

    For a list of valid distributions, use 'wsl --list --online'.

    Options:

        --distribution, -d [Argument]

            Downloads and installs a distribution by name.

            Arguments:

                A valid distribution name (not case sensitive).

            Examples:

                wsl --install -d Ubuntu

                wsl --install --distribution Debian

--set-default-version <Version>

    Changes the default install version for new distributions.

--shutdown

    Immediately terminates all running distributions and the WSL 2

    lightweight utility virtual machine.

--status

    Show the status of Windows Subsystem for Linux.

--update [Options]

    If no options are specified, the WSL 2 kernel will be updated

    to the latest version.

    Options:

        --rollback

            Revert to the previous version of the WSL 2 kernel.

Arguments for managing distributions in Windows Subsystem for Linux:

--export <Distro> <FileName>

    Exports the distribution to a tar file.

    The filename can be - for standard output.

--import <Distro> <InstallLocation> <FileName> [Options]

    Imports the specified tar file as a new distribution.

    The filename can be - for standard input.

    Options:

        --version <Version>

            Specifies the version to use for the new distribution.

--list, -l [Options]

    Lists distributions.

    Options:

        --all

            List all distributions, including distributions that are

            currently being installed or uninstalled.

        --running

            List only distributions that are currently running.

        --quiet, -q

            Only show distribution names.

        --verbose, -v

            Show detailed information about all distributions.

        --online, -o

            Displays a list of available distributions for install with 'wsl --install'.

--set-default, -s <Distro>

    Sets the distribution as the default.

--set-version <Distro> <Version>

    Changes the version of the specified distribution.

--terminate, -t <Distro>

    Terminates the specified distribution.

--unregister <Distro>

    Unregisters the distribution and deletes the root filesystem.

: exit status 0xffffffff checking if isocache exists: CreateFile \wsl$\docker-desktop-data\isocache\: The network name cannot be found.

Reproduce

Open Docker Desktop on Windows

Expected behavior

Open

docker version

C:\Users\scott>docker --version
Docker version 27.3.1, build ce12230

docker info

Microsoft Windows [Version 10.0.19044.1889]
(c) Microsoft Corporation. All rights reserved.

C:\Users\scott>docker --info
unknown flag: --info
See 'docker --help'.

Usage:  docker [OPTIONS] COMMAND

A self-sufficient runtime for containers

Common Commands:
  run         Create and run a new container from an image
  exec        Execute a command in a running container
  ps          List containers
  build       Build an image from a Dockerfile
  pull        Download an image from a registry
  push        Upload an image to a registry
  images      List images
  login       Authenticate to a registry
  logout      Log out from a registry
  search      Search Docker Hub for images
  version     Show the Docker version information
  info        Display system-wide information

Management Commands:
  builder     Manage builds
  buildx*     Docker Buildx
  checkpoint  Manage checkpoints
  compose*    Docker Compose
  container   Manage containers
  context     Manage contexts
  debug*      Get a shell into any image or container
  desktop*    Docker Desktop commands (Alpha)
  dev*        Docker Dev Environments
  extension*  Manages Docker extensions
  feedback*   Provide feedback, right in your terminal!
  image       Manage images
  init*       Creates Docker-related starter files for your project
  manifest    Manage Docker image manifests and manifest lists
  network     Manage networks
  plugin      Manage plugins
  sbom*       View the packaged-based Software Bill Of Materials (SBOM) for an image
  scout*      Docker Scout
  system      Manage Docker
  trust       Manage trust on Docker images
  volume      Manage volumes

Swarm Commands:
  config      Manage Swarm configs
  node        Manage Swarm nodes
  secret      Manage Swarm secrets
  service     Manage Swarm services
  stack       Manage Swarm stacks
  swarm       Manage Swarm

Commands:
  attach      Attach local standard input, output, and error streams to a running container
  commit      Create a new image from a container's changes
  cp          Copy files/folders between a container and the local filesystem
  create      Create a new container
  diff        Inspect changes to files or directories on a container's filesystem
  events      Get real time events from the server
  export      Export a container's filesystem as a tar archive
  history     Show the history of an image
  import      Import the contents from a tarball to create a filesystem image
  inspect     Return low-level information on Docker objects
  kill        Kill one or more running containers
  load        Load an image from a tar archive or STDIN
  logs        Fetch the logs of a container
  pause       Pause all processes within one or more containers
  port        List port mappings or a specific mapping for the container
  rename      Rename a container
  restart     Restart one or more containers
  rm          Remove one or more containers
  rmi         Remove one or more images
  save        Save one or more images to a tar archive (streamed to STDOUT by default)
  start       Start one or more stopped containers
  stats       Display a live stream of container(s) resource usage statistics
  stop        Stop one or more running containers
  tag         Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
  top         Display the running processes of a container
  unpause     Unpause all processes within one or more containers
  update      Update configuration of one or more containers
  wait        Block until one or more containers stop, then print their exit codes

Global Options:
      --config string      Location of client config files (default
                           "C:\\Users\\scott\\.docker")
  -c, --context string     Name of the context to use to connect to the
                           daemon (overrides DOCKER_HOST env var and
                           default context set with "docker context use")
  -D, --debug              Enable debug mode
  -H, --host list          Daemon socket to connect to
  -l, --log-level string   Set the logging level ("debug", "info",
                           "warn", "error", "fatal") (default "info")
      --tls                Use TLS; implied by --tlsverify
      --tlscacert string   Trust certs signed only by this CA (default
                           "C:\\Users\\scott\\.docker\\ca.pem")
      --tlscert string     Path to TLS certificate file (default
                           "C:\\Users\\scott\\.docker\\cert.pem")
      --tlskey string      Path to TLS key file (default
                           "C:\\Users\\scott\\.docker\\key.pem")
      --tlsverify          Use TLS and verify the remote
  -v, --version            Print version information and quit

Run 'docker COMMAND --help' for more information on a command.

For more help on how to use Docker, head to https://docs.docker.com/go/guides/

C:\Users\scott>docker info
Client:
 Version:    27.3.1
 Context:    desktop-linux
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.17.1-desktop.1
    Path:     C:\Program Files\Docker\cli-plugins\docker-buildx.exe
  compose: Docker Compose (Docker Inc.)
    Version:  v2.29.7-desktop.1
    Path:     C:\Program Files\Docker\cli-plugins\docker-compose.exe
  debug: Get a shell into any image or container (Docker Inc.)
    Version:  0.0.37
    Path:     C:\Program Files\Docker\cli-plugins\docker-debug.exe
  desktop: Docker Desktop commands (Alpha) (Docker Inc.)
    Version:  v0.0.15
    Path:     C:\Program Files\Docker\cli-plugins\docker-desktop.exe
  dev: Docker Dev Environments (Docker Inc.)
    Version:  v0.1.2
    Path:     C:\Program Files\Docker\cli-plugins\docker-dev.exe
  extension: Manages Docker extensions (Docker Inc.)
    Version:  v0.2.27
    Path:     C:\Program Files\Docker\cli-plugins\docker-extension.exe
  feedback: Provide feedback, right in your terminal! (Docker Inc.)
    Version:  v1.0.5
    Path:     C:\Program Files\Docker\cli-plugins\docker-feedback.exe
  init: Creates Docker-related starter files for your project (Docker Inc.)
    Version:  v1.3.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-init.exe
  sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.)
    Version:  0.6.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-sbom.exe
  scout: Docker Scout (Docker Inc.)
    Version:  v1.14.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-scout.exe

Server:
ERROR: error during connect: Get "http://%2F%2F.%2Fpipe%2FdockerDesktopLinuxEngine/v1.47/info": open //./pipe/dockerDesktopLinuxEngine: The system cannot find the file specified.
errors pretty printing info

C:\Users\scott>

Diagnostics ID

5841F4FB-BDAD-477D-8957-714183F28781/20241113054727

Additional Info

No response

Wangijun commented 1 week ago

I also encountered this problem

strvmarv commented 1 week ago

Same here. Cannot start Docker. I assume this is related to the latest update to VS for the .NET 9 release, as it was the last thing I changed in my environment. Everyone in the same situation or no?

UPDATE: Appears if you wait long enough and then hit restart it works. Maybe WSL had to update at startup as well.

HollisTech commented 1 week ago

Third time I restarted 4.35.1 after upgrading it appeared to work.

TomTravisSE commented 1 week ago

I installed it yesterday, got the error. Did a restart today and the error persists.

sahps commented 5 days ago

Setting up new laptop, Windows 11 23H2 Installing docker desktop 4.35.1 has the error described in this issue Uninstalled this and installed 4.34.3, worked OK winget install --exact --id Docker.DockerDesktop --version 4.34.3