Windows10 家庭版安装 Docker

所需文件

安装 Hyper-V

  • 创建一个文件,命名为InstallHyperV.bat,并添加如下内容

    1
    2
    3
    4
    5
    6
    pushd "%~dp0"
    dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
    for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
    del hyper-v.txt
    dism /online /enable-feature /featurename:Microsoft-Hyper-V -All /LimitAccess /ALL
    pause
  • 在管理员权限下运行InstallHyperV.bat

安装 Containers

  • 再创建一个文件,命名为InstallContainers.bat,并添加如下内容

    1
    2
    3
    4
    5
    6
    pushd "%~dp0"
    dir /b %SystemRoot%\servicing\Packages\*containers*.mum >containers.txt
    for /f %%i in ('findstr /i . containers.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
    del containers.txt
    dism /online /enable-feature /featurename:Containers -All /LimitAccess /ALL
    pause
  • 在管理员权限下运行InstallContainers.bat

重启电脑

编辑注册表中的 Windows 版本

  • 组合键Windows + R然后输入regedit

  • 在注册表编辑页面,找到\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion

  • 右键点击EditionID,再点击修改

  • 修改值为Professional

安装 Docker

  • 注意:如果重启了电脑,则EditionID会被重置。安装前需要重新设置
  • 接下来就是运行 Docker 安装包

Windows10 专业版安装 Docker

打开需要的服务

  • Hyper-V
  • 适用于 Linux 的 Windows 子系统
  • 虚拟机平台

安装 Docker

常见错误

WSL2 报错

  • 报错如图

  • 点击链接,下载下图的文件并运行

  • 或者下载所需文件中的wsl_update_x64.msi文件,并运行

  • 重启服务即可

Docker 卸载重装报错(Windows 家庭版)

  • 报错内容

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    System.InvalidOperationException:
    Failed to deploy distro docker-desktop to C:\Users\26921\AppData\Local\Docker\wsl\distro: exit code: -1
    stdout: �|�~~b
    N0Rc�[�v�e�N0

    stderr:
    在 Docker.ApiServices.WSL2.WslShortLivedCommandResult.LogAndThrowIfUnexpectedExitCode(String prefix, ILogger log, Int32 expectedExitCode) 位置 C:\workspaces\PR-16070\src\github.com\docker\pinata\win\src\Docker.ApiServices\WSL2\WslCommand.cs:行号 146
    在 Docker.Engines.WSL2.WSL2Provisioning.<DeployDistroAsync>d__17.MoveNext() 位置 C:\workspaces\PR-16070\src\github.com\docker\pinata\win\src\Docker.Desktop\Engines\WSL2\WSL2Provisioning.cs:行号 169
    --- 引发异常的上一位置中堆栈跟踪的末尾 ---
    ...
  • 解决方法

    • 先修改注册表

    • 切换容器

其他操作

Docker 上传镜像

  • 查看镜像 ID

    1
    docker images

  • 修改 Docker 标签

    1
    2
    3
    # docker tag ID dockerhub名字/镜像名:版本号

    docker tag c451c831cb52 zxiaosi/123:v1.0
  • 上传到 Docker Hub

Docker 更换位置

Docker 连接本地数据库

1
2
# host='localhost'
host='host.docker.internal'