windows11 安装 docker desktop (包罗数据迁移到D盘存储)

打印 上一主题 下一主题

主题 662|帖子 662|积分 1986



windows 11 安装 docker desktop(包罗数据迁移到D盘存储)

2024年6月28再次更新,本次更新部分有明显颜色区分
   

  • 2024年6月份开始,国内全部镜像加快源根本不可了!因此不必要再设置加快源
  • 全部下载镜像操纵,请使用魔法操纵
   1. 设置情况

   必要条件:
  

  • 开启 Hyper-V
  • 安装 wsl
  1.1 开启 Hyper-V

   如果没有 Hyper-V 选项,分析你的系统没有安装 Hyper-V(比如家庭版就没有)
  

  • 则必要安装 Hyper-V
    安装流程如下:在桌面创建一个文件,名称叫:'Hyper-V.bat',内容为:
    1. pushd "%~dp0"
    2. dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
    3. for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
    4. del hyper-v.txt
    5. Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
    复制代码
    【鼠标右击】->选择【以管理员身份运行】。大概等几分钟。重启电脑后“Window功能”就有Hyper-V选项了,已经默认勾上了
  


1.2 安装 wsl

检查是否有wsl
  1. C:\Users\yzx>wsl --version
  2. WSL 版本: 2.2.4.0
  3. 内核版本: 5.15.153.1-2
  4. WSLg 版本: 1.0.61
  5. MSRDC 版本: 1.2.5326
  6. Direct3D 版本: 1.611.1-81528511
  7. DXCore 版本: 10.0.26091.1-240325-1447.ge-release
  8. Windows 版本: 10.0.22631.3810
复制代码
  

  • 如没有wsl,则需下载安装: 下载地址
  • wsl是默认安装路径,是不能修改安装路径的,因此背面docker安装的镜像也是默认安装到wsl目次下的,必要迁移(背面再说)
  设置 wsl 版本
  1. # wsl 版本有1和2,这里必须设置为2才能支持docker
  2. wsl --set-default-version 2
复制代码


2. 安装 docker desktop

下载地址为:下载地址
docker desktop 默认安装到c盘的,使用如下命令,可以安装到 D 盘
  1. # C:\Users\yzx\Desktop\Docker Desktop Installer.exe 是我下载的docker desktop文件目录
  2. # D:\java\docker\docker 为安装的路径
  3. C:\Users\yzx\Desktop>"C:\Users\yzx\Desktop\Docker Desktop Installer.exe" install --installation-dir="D:\java\docker\docker"
复制代码
  运行结果:
  C:\Users\yzx\Desktop>-------------------------------------------------------------------------------->8 Version: 4.31.1 (153621) Sha1: Started on: 20240627 02:12:02.152 Resources: C:\Users\yzx\Desktop\resources OS: Windows 10 Home China Edition: CoreCountrySpecific Id: 2009 Build: 22631 BuildLabName: 22621.1.amd64fre.ni_release.220506-1250 File: C:\Users\yzx\AppData\Local\Docker\install-log.txt CommandLine: "C:\Users\yzx\Desktop\Docker Desktop Installer.exe" install --installation-dir="D:\java\docker\docker" You can send feedback, including this log file, at Issues · docker/for-win · GitHub [2024-06-27T02:12:03.467188600Z][ManifestAndExistingInstallationLoader][I] Install path is D:\java\docker\docker. Loading manifest first [2024-06-27T02:12:03.467188600Z][ManifestAndExistingInstallationLoader][I] No manifest found, returning no existing install [2024-06-27T02:12:03.467188600Z][Installer][I] No installation found [2024-06-27T02:12:03.482875600Z][ManifestAndExistingInstallationLoader][I] Not run as admin, relaunching with UAC prompt -------------------------------------------------------------------------------->8 Version: 4.31.1 (153621) Sha1: Started on: 20240627 02:12:07.718 Resources: C:\Users\yzx\Desktop\resources OS: Windows 10 Home China Edition: CoreCountrySpecific Id: 2009 Build: 22631 BuildLabName: 22621.1.amd64fre.ni_release.220506-1250 File: C:\ProgramData\DockerDesktop\install-log-admin.txt CommandLine: "C:\Users\yzx\Desktop\Docker Desktop Installer.exe" "install" -package "resockerDesktop" --installation-dir="D:\java\docker\docker" --relaunch-as-admin You can send feedback, including this log file, at Issues · docker/for-win · GitHub [2024-06-27T02:12:08.999653700Z][ManifestAndExistingInstallationLoader][I] Install path is D:\java\docker\docker. Loading manifest first [2024-06-27T02:12:09.015345800Z][ManifestAndExistingInstallationLoader][I] No manifest found, returning no existing install [2024-06-27T02:12:09.015345800Z][Installer][I] No installation found [2024-06-27T02:12:09.363957700Z][InstallWorkflow][I] Using package: resockerDesktop [2024-06-27T02:12:09.426521000Z][InstallWorkflow][I] Downloading [2024-06-27T02:12:10.475514900Z][InstallWorkflow][I] Extracting manifest [2024-06-27T02:12:11.465453600Z][InstallWorkflow][I] Manifest found: version=153621, displayVersion=4.31.1, channelUrl=https://desktop-stage.docker.com/win/main/amd64/appcast.xml [2024-06-27T02:12:11.465957100Z][InstallWorkflow][I] Checking prerequisites [2024-06-27T02:12:11.675089500Z][InstallWorkflow][I] Prompting for optional features [2024-06-27T02:12:14.324384200Z][InstallWorkflow][I] Selected backend mode: wsl-2 [2024-06-27T02:12:14.327396500Z][InstallWorkflow][I] Unpacking artifacts [2024-06-27T02:13:35.576078700Z][InstallWorkflow][I] Deploying component Docker.Installer.CreateGroupAction [2024-06-27T02:13:56.086788000Z][InstallWorkflow][I] Deploying component Docker.Installer.AddToGroupAction [2024-06-27T02:14:27.934304900Z][InstallWorkflow][I] Deploying component Docker.Installer.EnableFeaturesAction [2024-06-27T02:14:27.948058600Z][InstallWorkflow-EnableFeaturesAction][I] Required features: VirtualMachinePlatform, Microsoft-Windows-Subsystem-Linux [2024-06-27T02:14:28.342670400Z][InstallWorkflow][I] Deploying component Docker.Installer.ServiceAction [2024-06-27T02:14:28.344593900Z][InstallWorkflow-ServiceAction][I] Removing service [2024-06-27T02:14:28.345684100Z][InstallWorkflow-ServiceAction][I] Creating service [2024-06-27T02:14:28.347590300Z][InstallWorkflow][I] Deploying component Docker.Installer.ShortcutAction [2024-06-27T02:14:28.359598800Z][InstallWorkflow-ShortcutAction][I] Creating shortcut: C:\ProgramData\Microsoft\Windows\Start Menu\Docker Desktop.lnk/Docker Desktop [2024-06-27T02:14:28.364701100Z][InstallWorkflow][I] Deploying component Docker.Installer.ShortcutAction [2024-06-27T02:14:28.365697600Z][InstallWorkflow-ShortcutAction][I] Creating shortcut: C:\Users\yzx\Desktop\Docker Desktop.lnk/Docker Desktop [2024-06-27T02:14:28.367221600Z][InstallWorkflow][I] Deploying component Docker.Installer.AutoStartAction [2024-06-27T02:14:28.371227300Z][InstallWorkflow][I] Deploying component Docker.Installer.PathAction [2024-06-27T02:14:28.535498700Z][InstallWorkflow][I] Deploying component Docker.Installer.ExecAction [2024-06-27T02:14:28.538498800Z][InstallWorkflow-ExecAction][I] Running: D:\java\docker\docker\InstallerCli.exe -i with timeout=-1 [2024-06-27T02:14:30.700959800Z][InstallWorkflow][I] Registering product [2024-06-27T02:14:30.717039300Z][InstallWorkflow][I] Deleting C:\ProgramData\DockerDesktop\install-settings.json [2024-06-27T02:14:30.718040000Z][InstallWorkflow][I] Installation succeeded
  3. 运行、迁移数据文件到 D 盘

打开运行 docker desktop ,能正常打开分析安装成功了


非常重要:
docker安装的镜像、容器等,都放在 C:\Users\yzx\AppData\Local\Docker\wsl 目次中。请不要在“设置”中修改位置,请使用 wsl 相关命令迁移到 D 盘,重要的事情说三遍

3.1 迁移 wsl 数据文件到 D 盘

wsl 常见命令
   

  • 更新 wsl:wsl --update
  • 查看已经安装的的Linux发行版:wsl --list, Docker Desktop 通过 wsl启动时,会自动创建两个 wsl 子系统:docker-desktop 和 docker-desktop-data
    1. C:\Users\yzx>wsl --list
    2. 适用于 Linux 的 Windows 子系统分发:
    3. docker-desktop (默认)  
    4. docker-desktop-data
    5. # docker-desktop 对应
    6. # -> C:\Users\yzx\AppData\Local\Docker\wsl\main\ext4.vhdx数据文件
    7. # docker-desktop-data 对应
    8. # -> C:\Users\yzx\AppData\Local\Docker\wsl\data\ext4.vhd镜像文件
    复制代码
  • 将 wsl 2 设置为默认版本:wsl --set-default-version 2
  • 关闭全部子系统:wsl --shutdown
  • 卸载定子系统:wsl --unregister "名称xxx"
  迁移数据之前必做:
   首次启动docker面版的时间,会默认创建两个 wsl 子系统:docker-desktop 和 docker-desktop-data
  docker-desktop 对应C:\Users\yzx\AppData\Local\Docker\wsl\main\ext4.vhdx数据文件
  docker-desktop-data 对应C:\Users\yzx\AppData\Local\Docker\wsl\data\ext4.vhd镜像文件
  然而如果从来没有下载镜像操纵,C:\Users\yzx\AppData\Local\Docker\wsl\data\ext4.vhd 这个文件则为空,因此为了背面方便迁移数据,再迁移前务必先随机下载一个镜像(比如mysql、nginx等都可以)
  1. # 先停止docker
  2. # 关闭所有发行版
  3. C:\Users\yzx>wsl --shutdown
  4. # 查看停止情况
  5. # 安装docker后,docker会自动创建个发行版:
  6. # docker-desktop
  7. # docker-desktop-data 有些版本不会创建这个
  8. C:\Users\yzx>wsl --list -v
  9.   NAME                   STATE           VERSION
  10. * docker-desktop         Stopped         2
  11.   docker-desktop-data    Stopped         2
  12. # 备份导出目前已有的数据
  13. # docker-desktop 对应
  14. # -> C:\Users\yzx\AppData\Local\Docker\wsl\main\ext4.vhdx数据文件
  15. # docker-desktop-data 对应
  16. # -> C:\Users\yzx\AppData\Local\Docker\wsl\data\ext4.vhd镜像文件
  17. # 命令说明:将...wsl\main\ext4.vhdx数据文件备份到C:\Users\yzx\Desktop目录下,并命名为docker-desktop.tar
  18. C:\Users\yzx>wsl --export docker-desktop "C:\Users\yzx\Desktop\docker-desktop.tar"
  19. 正在导出,这可能需要几分钟时间。
  20. 操作成功完成。
  21. # 命令说明:将...wsl\data\ext4.vhd镜像文件备份到C:\Users\yzx\Desktop目录下,并命名为docker-desktop-data.tar
  22. C:\Users\yzx>wsl --export docker-desktop-data "C:\Users\yzx\Desktop\docker-desktop-data.tar"
  23. 正在导出,这可能需要几分钟时间。
  24. 操作成功完成。
  25. # 删除原有数据
  26. # 说明:解除当前的docker 数据虚拟盘映射,该操作后会删除原有的ext4.vhdx (数据未备份前请谨慎操作)
  27. C:\Users\yzx>wsl --unregister docker-desktop
  28. 正在注销。
  29. 操作成功完成。
  30. C:\Users\yzx>wsl --unregister docker-desktop-data
  31. 正在注销。
  32. 操作成功完成。
  33. # 导入数据到新盘
  34. # 命令说明:将备份数据导入到新的虚拟盘,且指定虚拟盘的存放路径为D:\java\docker\docker_workspace\main,导入完成后在该目录下会存在一个ext4.vhdx的虚拟磁盘路径
  35. C:\Users\yzx>wsl --import docker-desktop "D:\java\docker\docker_workspace\main" "C:\Users\yzx\Desktop\docker-desktop.tar" --version 2
  36. 正在导入,这可能需要几分钟时间。
  37. 操作成功完成。
  38. # 命令说明:将备份数据导入到新的虚拟盘,且指定虚拟盘的存放路径为D:\java\docker\docker_workspace\data,导入完成后在该目录下会存在一个ext4.vhdx的虚拟磁盘路径
  39. C:\Users\yzx>wsl --import docker-desktop-data "D:\java\docker\docker_workspace\data" "C:\Users\yzx\Desktop\docker-desktop-data.tar" --version 2
  40. 正在导入,这可能需要几分钟时间。
  41. 操作成功完成
  42. # 创建软链接,必须创建软件链接,否则重启不生效
  43. C:\Users\yzx>mklink "C:\Users\yzx\AppData\Local\Docker\wsl\data\ext4.vhdx" "D:\java\docker\docker_workspace\data\ext4.vhdx"
  44. # 最后启动Docker
复制代码
  docker-desktop-data子系统的数据文件存储在:"C:\Users\yzx\AppData\Local\Docker\wsl\data\ext4.vhdx",当把这个迁移到D盘的时间,固然当时会表现成功,但是重新启动电脑时,docker-desktop-data子系统就启动不起来了,docker-desktop-data子系统只识别第一次安装时间的数据文件位置,且不能修改,因此必须为 docker-desktop-data 数据创建软件链接,否则重启不生效,
  C:\Users\yzx>mklink "C:\Users\yzx\AppData\Local\Docker\wsl\data\ext4.vhdx" "D:\java\docker\docker_workspace\data\ext4.vhdx"

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

悠扬随风

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表