Home Windows系统下Docker的环境配置
Post
Cancel

Windows系统下Docker的环境配置

配置流程

  • 本机配置: Windows 11 家庭版 23H2
  • 下载并安装适用于Windows系统的 Docker
  • 将docker的安装路径添加到系统环境变量,通常为
    1
    
      C:\Program Files\Docker\Docker\resources\bin
    
  • 启动docker后报错:

    1
    2
    3
    4
    5
    6
    7
    8
    
      deploying WSL2 distributions provisioning docker WSL distros: ensuring main distro is deployed: deploying "docker-desktop": importing WSL distro "当前计算机配置不支持 WSL2。
      请启用“虚拟机平台”可选组件,并确保在 BIOS 中启用虚拟化。\r\n通过运行以下命令启用“虚拟机平台”: wsl.exe --install --no-distribution\r\n有关信息,请访问 https://aka.ms/enablevirtualization\r\nError code: Wsl/Service/RegisterDistro/CreateVm/HCS/HCS_E_HYPERV_NOT_INSTALLED\r\n" output="docker-desktop": exit code: 4294967295: running WSL command wsl.exe C:\Windows\System32\wsl.exe --import docker-desktop <HOME>\AppData\Local\Docker\wsl\main C:\Program Files\Docker\Docker\resources\wsl\wsl-bootstrap.tar --version 2: 当前计算机配置不支持 WSL2。
      请启用“虚拟机平台”可选组件,并确保在 BIOS 中启用虚拟化。
      通过运行以下命令启用“虚拟机平台”: wsl.exe --install --no-distribution
      有关信息,请访问 https://aka.ms/enablevirtualization
      Error code: Wsl/Service/RegisterDistro/CreateVm/HCS/HCS_E_HYPERV_NOT_INSTALLED
      : exit status 0xffffffff
      checking if isocache exists: CreateFile \\wsl$\docker-desktop-data\isocache\: The network name cannot be found.
    

解决方法

确认与虚拟机平台有关的设置

  • 打开控制面板
  • 选择程序
  • 程序与功能中选择启用或关闭Windows功能。勾选以下几个选项:

启用BIOS中的虚拟化

  • 重启电脑,进入BIOS设置界面(不同的设备进入方式有所不同,具体可参照 此处
  • 找到与虚拟化技术相关的选项(通常为Intel Vt-x或AMD-V,位于高级选项中)并启用。
  • 启动后,打开任务管理器,选择性能。确认下方的虚拟化显示已启用。

检查并安装WSL

  • 确认当前设备上已安装的wsl
    1
    
      wsl -l -v
    
  • 如果显示无已安装的wsl,则进行安装
    • 确认可以下载的wsl版本
      1
      
        wsl --list --online
      

      可能会显示:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      
        NAME                                   FRIENDLY NAME
        Ubuntu                                 Ubuntu
        Debian                                 Debian GNU/Linux
        kali-linux                             Kali Linux Rolling
        Ubuntu-18.04                           Ubuntu 18.04 LTS
        Ubuntu-20.04                           Ubuntu 20.04 LTS
        Ubuntu-22.04                           Ubuntu 22.04 LTS
        Ubuntu-24.04                           Ubuntu 24.04 LTS
        OracleLinux_7_9                        Oracle Linux 7.9
        OracleLinux_8_7                        Oracle Linux 8.7
        OracleLinux_9_1                        Oracle Linux 9.1
        openSUSE-Leap-15.5                     openSUSE Leap 15.5
        SUSE-Linux-Enterprise-Server-15-SP4    SUSE Linux Enterprise Server 15 SP4
        SUSE-Linux-Enterprise-15-SP5           SUSE Linux Enterprise 15 SP5
        openSUSE-Tumbleweed                    openSUSE Tumbleweed
      
    • 选择其中所需的进行安装,如安装Ubuntu-20.04
      1
      
        wsl --install Ubuntu-20.04
      
  • 安装时报错的解决办法

    在安装时可能会遇到如下报错:

    1
    2
    
      WslRegisterDistribution failed with error: 0x80370102
      Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS.
    

    但此时若是按照上述步骤依次完成设置的话,虚拟化应当已经被启用。此时需要查看以下虚拟机监控器的运行情况:

    1
    
      Get-ComputerInfo | Select-Object HyperV*
    

    有可能返回如下信息:

    1
    2
    3
    4
    5
    
      HyperVisorPresent                                 : False
      HyperVRequirementDataExecutionPreventionAvailable : True
      HyperVRequirementSecondLevelAddressTranslation    : True
      HyperVRequirementVirtualizationFirmwareEnabled    : True
      HyperVRequirementVMMonitorModeExtensions          : True
    

    说明虚拟机监控器没有正常启用。针对该问题的解决方法可以参照 官方教程 。简单来说,以管理员身份运行powershell,执行如下语句后重启系统即可。

    1
    
      bcdedit /set hypervisorlaunchtype auto
    
This post is licensed under CC BY 4.0 by the author.