当前位置:   article > 正文

win11安装Docker Desktop 、更新wsl至wsl2、Docker-Desktop储存路径更改_wsl更新

wsl更新

提示:修改Docker Desktop的安装位置要提前操作,建议提前更新到wsl2


准备

一般默认是开启的,但以防万一,还是检查一下,虚拟化是关闭的话,不同笔记本操作不同,自行百度吧
image-20220809122007244
image-20220809122108824
image-20220809122153287

安装wsl2

wsl --list --online  # 选择要安装的版本

wsl --install -d Ubuntu-20.04   # 安装对应版本  (Ubuntu-20.04 为下图 NAME)

# 建议先升级
# wsl2 升级包(上方安装报错下载这个,安装后重新执行方命令) 重新打开后,会让你输入用户名,以及密码,完成后即为安装成功
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

image-20220809122317336

wsl更新到wsl2

获取WSL2 Linux内核更新包并运行

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
  • 1

将 WSL 2 设置为默认版本

wsl --set-default-version 2
  • 1

查看目前的WSL版本

wsl -l -v

# 结果
Name              State            Version
Ubuntu-20.04      Stopped          1
  • 1
  • 2
  • 3
  • 4
  • 5

执行更新

wsl --set-version Ubuntu-20.04  2
#输出
正在进行转换,这可能需要几分钟时间...
有关与 WSL 2 的主要区别的信息,请访问 https://aka.ms/wsl2
转换完成。

# 重新查看
wsl -l -v
#输出
Name              State            Version
Ubuntu-20.04      Stopped          2
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

wsl2迁移

# 终止正在运行的wsl
wsl --shutdown

# 检查当前wsl是否在运行
wsl -l -v


# 将需要迁移的Linux,进行导出
wsl --export Ubuntu-20.04 D:\Ubuntu.tar
# 导出完成之后,就需要将原有的分发进行卸载
wsl --unregister Ubuntu-20.04
# 然后将导出的文件放到需要保存的地方,进行导入即可
wsl --import Ubuntu-20.04 D:\Ubuntu_2004 D:\Ubuntu.tar --version 2

# 上述操作完成之后能够顺利打开WSL Ubuntu,但是显示以root身份登录
# 进行用户配置<username>是你前面注册的用户名(如果你的WSL Ubuntu的名称是Ubuntu-20.04,那么对应的可执行文件名为ubuntu2004.exe)
ubuntu.exe config --default-user <username>
ubuntu2004.exe config --default-user zkc
# 看下图进入对应目录,找到ubuntu2004.exe,在此目录进入cmd执行上面的命令
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

image-20220809132354525

安装Docker Desktop(先看下一步)

image-20220809232948278
image-20220809233014425

修改Docker Desktop默认安装位置(在安装前操作)

# Docker Desktop默认安装位置
C:\Program Files\Docker


# 需要是管理员权限
# 建立软连接的命令如下:(再没安装之前执行)  使用Windows PowerShell会报错,使用 命令提示符 没事(如下图),
mklink /j "C:\Program Files\Docker" "D:\Program Files\Docker"
# 看一下对应目录有没有文件夹,
C盘的没有不用管
D盘下没有就创建一下
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在这里插入图片描述
在这里插入图片描述

Docker-Desktop储存路径更改

方式一(推荐)

在这里插入图片描述

方式二(最初软件没有提供修改时用的方法)

Docker Desktop的默认存储路径
C:\Users${用户文件}\AppData\Local\Docker

# docker-desktop:保存的是程序
docker-desktop 主要保存的是Docker Desktop本身及其依赖的服务程序,这部分通常指的是Docker引擎以及为了支持Docker在Windows上运行所需要的其他配套软件和服务。
# docker-desktop-data: 保存的镜像
docker-desktop-data 则主要用于保存Docker所使用的实际数据,尤其是容器镜像、容器的可写层、容器数据卷以及其他持久化的数据。当您在Docker中拉取、构建或运行容器时,产生的镜像和容器状态都会存储在这个环境中。因此,当我们谈论镜像存储位置时,docker-desktop-data 所对应的文件系统区域就是存储这些镜像和其他重要数据的地方。对于需要迁移镜像存储位置或进行备份的情况,通常会针对docker-desktop-data 进行操作。

PS C:\Users\Lenovo> wsl -l -v
  NAME                   STATE           VERSION
* Ubuntu-20.04           Running         2
  docker-desktop         Running         2
  docker-desktop-data    Running         2
PS C:\Users\Lenovo> wsl -l --all -v
  NAME                   STATE           VERSION
* Ubuntu-20.04           Running         2
  docker-desktop         Running         2
  docker-desktop-data    Running         2
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

首先需要将docker desktop退出,确保状态是关闭状态

wsl --shutdown

# 结果
PS C:\Users\Lenovo> wsl -l -v
  NAME                   STATE           VERSION
* Ubuntu-20.04           Stopped         2
  docker-desktop         Stopped         2
  docker-desktop-data    Stopped         2
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

备份

wsl --export docker-desktop E:\wsl2\docker\docker-desktop.tar
wsl --export docker-desktop-data E:\wsl2\docker\docker-desktop-data.tar
  • 1
  • 2

注销

wsl --unregister docker-desktop
wsl --unregister docker-desktop-data
  • 1
  • 2

导入

wsl --import docker-desktop D:\wsl2\docker\docker-desktop D:\wsl2\docker\docker-desktop.tar --version 2
wsl --import docker-desktop-data D:\wsl2\docker\docker-desktop-data D:\wsl2\docker\docker-desktop-data.tar --version 2
  • 1
  • 2

win系统安装docker 需要注意本机端口是否被使用,如果使用映射的时候就没法用了

# 查看所有连接的监听的端口
netstat -ano

# 排查是否有程序占用了9091端口
netstat -ano | findstr 9091

# 通过cmd命令查看哪些端口被禁用TCP协议
netsh interface ipv4 show excludedportrange protocol=tcp
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

cmd中wsl命令

列出分发:wsl -l
运行指定分发:wsl -d <分发>
更改新分发的默认安装版本:wsl --set-default-version <Version>
将分发设置为默认值:wsl -s <分发>
更改指定分发的版本:wsl --set-version <分发> <版本>
立即终止所有运行的分发及 WSL2:wsl --shutdown
终止指定的分发(相当于关机):wsl -t <分发>
注销分发并删除根文件系统:wsl --unregister <分发>
将指定的 tar 文件作为新分发导入:wsl --import <Distro> <InstallLocation> <FileName>
将分发导出到 tar 文件:wsl --export <Distro[分发]> <FileName[文件名,包含文件全路径]>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

使用中的问题

# 出现 
参考的对象类型不支持尝试的操作。 Press any key to continue...
# 使用(管理员)执行:
netsh winsock reset
  • 1
  • 2
  • 3
  • 4
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/816774
推荐阅读
相关标签
  

闽ICP备14008679号