一.准备工作

(1)检查确保电脑的虚拟化开启。

需要在BIOS中开启虚拟化技术(VT、VT-x或AMD-V)。

(2)确保当前版本是64位Windows 10 Pro,专业版、企业版和教育版

要安装WSL 2,需要版本 1903 或更高版本Win10 或者 Win 11

WSL2安装是否成功

WSL2的安装参考安装 WSL | Microsoft Docs

安装开启Hyper-V (经测试,原来Hyper-V也不是必须的,原因见-3

家庭版的处理方式:

pushd "%~dp0"dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txtfor /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"del hyper-v.txtDism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL

regedit, 临时修改EditionID为Professional,伪装成专业版。

----------------------------------------------------------------------------------------

注:1. 家庭版的这个方案没有测试,为了使用docker,专门把系统升级到了企业版。后来发现也不是必须的。
 ----------------------------------------------------------------------------------------

(3)开启“适用于Linux的的Windows子系统”

WSL的最新版本使用Hyper-V架构来实现其虚拟化。 该架构将在“虚拟机平台”可选组件中提供。所以WSL2需要勾选的是基于Hyper-V架构的“虚拟机平台”。

-------------------------------------------------------------------------------

注:原来只需要选择安装这两项就可以了。这个虚拟机平台就是一个精简版的Hyper-v。

关于wsl2的相关说明详见:旧版 WSL 的手动安装步骤 | Microsoft Docs

-------------------------------------------------------------------------------

(4)下载windows版的docker

Docker Desktop for Windows by Docker | Docker Hub

二. Windows Docker Desktop默认安装到 c:\program files\docker目录。如果c盘空间不够,可以使用mklink命令,将其他盘的文件夹的快捷方式映射到c盘的固定目录,这样就可以将Docker Desktop安装到其他目录,节约宝贵的c盘空间。

命令如下:

mklink /j "C:\Program Files\Docker" "D:\Program Files\Docker"

如果提示“当文件已存在时,无法创建该文件”。
那是因为Docker目录已经存在,删除c盘的相应目录后,执行成功。

3. Docker Desktop启动失败

Docker.ApiServices.WSL2.WslKernelUpdateNotInstalledException: 引发类型为“Docker.ApiServices.WSL2.WslKernelUpdateNotInstalledException”的异常。在 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:行号 140在 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
--- 引发异常的上一位置中堆栈跟踪的末尾 ---

查了资料,错误是因为WSL2与Proxifier无法同时使用。方案来源:Winsock module breaks WSL2 · Issue #4177 · microsoft/WSL · GitHub

下载nolsp解决,运行命令如下:

nolsp.exe C:\WINDOWS\system32\wsl.exe

重启docker desktop正常

测试下,已经安装成功。

相关软件特别是nolsp不好直接下载,

链接:https://pan.baidu.com/s/19q8pN5BIb879aCNV_7eqrg 
提取码:j41p

4. Docker的设置

(1)替换为国内源:

https://registry.docker-cn.com   # Docker中国区官方镜像http://hub-mirror.c.163.com      # 网易https://docker.mirrors.ustc.edu.cn # ustc https://docker.mirrors.ustc.edu.cn # 中国科技大学https://cr.console.aliyun.com/ # 阿里云容器  服务

(2)wls位置迁移

WSL 发行版默认都是安装在 C 盘,在%LOCALAPPDATA%/Docker/wsl 目录 docker 的运行数据、镜像文件都存在%LOCALAPPDATA%/Docker/wsl/data/ext4.vhdx 中

要把文件迁移走,得靠wsl的备份还原功能

wsl --terminate <DistritubtionName>  # 先关闭相关的分发,以免后续造成不必要的问题
wsl --export <DistributionName> <FileName>  # 导出Linux子系统
wsl --unregister Ubuntu-18.04  # 注销这个分发
wsl --import <DistributionName> <InstallLocation> <FileName>  # 导入/还原之前的分发版本

1)首先关闭 docker

2)关闭所有发行版:

wsl --shutdown

 3)将 docker-desktop-data 导出指定目录 D:\WslData\

 wsl --export docker-desktop-data D:\WslData\docker-desktop-data.tar

 4)注销 docker-desktop-data 

wsl --unregister docker-desktop-data

 5)重新导入 docker-desktop-data 到要存放的文件夹

wsl --import docker-desktop-data d:\wsldata\ d:\wsldata\docker-desktop-data.tar --version 2

完成以上操作后,原来的%LOCALAPPDATA%/Docker/wsl/data/ext4.vhdx 就迁移到新目录了

三、安装MySql

(1)Pull Mysql5.7.27并把MySql映射到宿主机

(2)查看Mysql的IP地址

图中可以看到172.25.187.245

(3) Sql数据库的导出

WSL会自动管理镜像,无法直接获取mysql的安装位置,数据库导出常规方法无法完成,需要通过mysqldump实现。

docker exec -it [mysql容器名] mysqldump -uroot -p[mysql的密码] [导出的数据库]>[导出位置]

其中,导出位置是一个.sql文件,否则报目录不存在错误。

例子:docker exec -it mysql mysqldump -uroot -pPassword Product>D:/research/product.sql

Win10系统基于WSL2安装Docker问题小结相关推荐

  1. 【收藏】win10利用WSL2安装docker的2种方式

    win10利用WSL2安装docker的2种方式

  2. Windows学习总结(23)——在 Windows 10 子系统 ubuntu 上利用 WSL2 安装 docker 的 2 种方式

    前言 windows10 目前推出了WSL2,相对于WSL采用API转换的方式, WSL2 则完全不同,win10 开始内置了一个轻量级虚拟机,经过不断的优化,这个虚拟机实现了与 windows 的高 ...

  3. freenas 当网站服务器,win10系统下如何安装FreeNAS来设置文件服务器

    win10系统下如何安装FreeNAS来设置文件服务器 您是否正在构建文件服务器?FreeNAS可能是您的最佳选择,因为它的功能和价格(免费).以下是安装操作系统的方法. FreeNAS是一个免费提供 ...

  4. win10子系统ubuntu(WSL) 安装Docker

    win10子系统ubuntu WSL 安装Docker踩坑 环境说明 win10安装Docker for windows 开启 Hyper-V 安装Docker for windows 子系统安装Do ...

  5. Win10系统下Visio安装失败问题

    最近换Win10系统,想安装一个Visio2013,出现提示:安装失败,正在回滚更改,如下图所示: 上网百度,在visio贴吧找到解决方案:贴吧404: 在官网重新下载下最新版本的Microsoft ...

  6. 24安装失败 spss win10_教你win10系统显卡驱动安装失败的解决方法「系统天地」

    我们日常在对电脑的使用过程中,经常都会遇到这样或那样的问题.比如说win10系统显卡驱动安装失败该怎么办呢?别着急,还有小编在呢?接下来小编就来告诉大家win10电脑系统显卡驱动安装失败怎么解决. 详 ...

  7. ft2232驱动安装方法_教你win10系统显卡驱动安装失败的解决方法「系统天地」

    我们日常在对电脑的使用过程中,经常都会遇到这样或那样的问题.比如说win10系统显卡驱动安装失败该怎么办呢?别着急,还有小编在呢?接下来小编就来告诉大家win10电脑系统显卡驱动安装失败怎么解决. 详 ...

  8. 提示计算机未安装flash,win10系统提示未安装Flash的解决方法

    很多小伙伴都遇到过win10系统提示未安装Flash的困惑吧,一些朋友看过网上零散的win10系统提示未安装Flash的处理方法,并没有完完全全明白win10系统提示未安装Flash是如何解决的,今天 ...

  9. Win10系统下Python安装和Geany环境配置的几点总结

    Win10系统下Python安装和Geany文本编辑器配置的几点总结 (START OF MY BLOG LIFE) 一.Python的安装 Python直接可以在官网下载(https://www.p ...

最新文章

  1. Linux(Centos)下jdbc连接oracle速度超慢的问题
  2. Ignoring unused library classes...java.io.IOException: You have to specify '-keep' options for the s
  3. 乔布斯最伟大的贡献是什么
  4. 注意!这些行为将会影响征信
  5. uwp连接mysql数据库_在 UWP 应用中使用 SQLite 数据库
  6. CentOS6上Hadoop集群中服务器cpu sys态异常的定位与解决
  7. mysql 联合主键_深入理解Mysql索引底层数据结构与算法,背后的故事
  8. UVa 12657 - Boxes in a Line ( 双向链表 )
  9. 怎么样使element ui 的table某列变色
  10. 解决开ServiceHost时候System.PlatformNotSupportedException: Operation is not supported on this platform.
  11. 混沌神经网络的实际应用,进化算法优化神经网络
  12. MT7620a-Openwrt-Frp
  13. mysql 自动化运维开发_Python自动化运维开发----基础(十三)Mysql数据库基础
  14. 在线html编辑器---htmlarea 附件,在线HTML编辑器htmlarea简单使用
  15. 交通-地铁客流量python时间序列预测
  16. pause容器作用_kubernetes中的Pause容器如何理解?
  17. 文本框固定任意一顶点后,拖动相对点任意旋转缩放,计算缩放后顶点坐标
  18. 如何改变视频的MD5值?一分钟让你学会操作
  19. Redis Reactive
  20. 依托抖音、快手直播的上架工具开发

热门文章

  1. 阿里云电脑无影云桌面收费标准(CPU内存/云盘/互联网带宽)
  2. 使用分区助手给win10电脑C盘扩容
  3. 极米上半年营收20.4亿:同比增21% 百度减持套现8亿
  4. VideoPlayer 视频播放
  5. Linux中#!表示什么意思?
  6. 迷宫问题用‘图’求解
  7. 《JavaWeb从入门到改行》多重外键关系在java中的处理方案
  8. linux忘记管理员密码解决方法
  9. 20110400笑话
  10. 可用作职业规划的性格测试