Docker Desktop非C盘安装

873 阅读3分钟

安装wsl

WSL 的手动安装步骤

安装Ubuntu

打开Microsoft Store搜索Ubuntu安装 image.png

登录进去,设置好用户名和密码

迁移Ubuntu-24.04存储至非C盘

查看wsl状态

wsl -l -v

image.png

关闭或者直接重启

wsl --shutdown

导出系统镜像

wsl --export Ubuntu-24.04 D:\it\Ubuntu\ubuntu.tar

image.png

注销原有的Ubuntu-24.04

wsl --unregister Ubuntu-24.04

导入系统

wsl --import <导入的Linux名称> <导入盘的路径> <ubuntu.tar的路径> --version 2 (代表 wsl2)

wsl --import Ubuntu-24.04 D:\it\Ubuntu\ D:\it\Ubuntu\ubuntu.tar --version 2

image.png

修改默认用户

打开wsl ubuntu之后,默认是以root身份登录

ubuntu2204.exe config --default-user ubuntu
  • ubuntu2404.exe

    • 安装的Ubuntu-24.04的exe

    image.png 也可以直接C盘搜索

  • --default-user ubuntu:

    • 这里的ubuntu是指之前自己设置的用户名

wsl ubuntu 开机自启动

  • WIN+R 启动运行
  • 输入 shell:startup 打开启动目录
  • 创建 wsl-startup.vbs 文件

wsl-startup.vbs 文件内容

Set ws = CreateObject("Wscript.Shell")
ws.run "wsl -d Ubuntu-24.04", vbhide

Ubuntu-24.04为以下图片名称

image.png

Docker Desktop非C盘安装

下载 Docker Desktop

使用命令安装

Start-Process "D:\it\download\Docker Desktop Installer.exe" -Wait -ArgumentList "install --installation-dir=D:\it\Docker_Desktop"
  • D:\it\download\Docker Desktop Installer.exe
    • 下载的Docker Desktop安装文件
  • D:\it\Docker Desktop
    • 要安装到哪个目录

注意:命令安装也需要像双击安装一样,要点击操作界面

安装完成后,docker默认数据会存储到C盘的 C:\Users\Administrator\AppData\Local\Docker\wsl,会随着镜像下载及使用持续增长,最终导致C盘爆满

迁移Docker Desktop数据

通过配置设置(此种方式简单有效)

  • 先启动Docker Desktop,再关闭
  • 找到目录 C:\Users\Administrator\AppData\Roaming\Docker
  • 打开 settings.json(不先启动Docker Desktop,无此文件)
  • 设置 customWslDistroDir 为其他盘的目录,比如:"customWslDistroDir": "D:\it\data\Docker\wsl"
  • 关机重启数据会自动迁移至此目录

image.png

直接设置(有时不生效)

直接更改 Disk image location 目录重启即可

image.png

最终展示

image.png

解决Vmmem内存占用过大

问题

启动Docker Desktop后,若什么都没有设置,会出现Vmmem内存占用过大的问题。Vmmem内存占用会随着使用持续增长,最终导致电脑异常卡顿

解决

# Advanced settings configuration in WSL

  • 按下Windows + R 键,输入 %UserProfile% 并运行进入用户文件夹
  • 新建txt文件,编辑输入以下内容,更改文件名字为 .wslconfig
# Settings apply across all Linux distros running on WSL 2
[wsl2]

# Limits VM memory to use no more than 4 GB, this can be set as whole numbers using GB or MB
memory=4GB

# Sets the VM to use two virtual processors
processors=2

# Sets amount of swap storage space to 8GB, default is 25% of available RAM
swap=0

# Turn off default connection to bind WSL 2 localhost to Windows localhost
localhostforwarding=true
  • 执行 wsl --shutdown 或者重启电脑即可

企业微信截图_16940550588090.png

image.png

解决Docker Desktop存储文件占用过大

ext4.vhdx 会自动扩容,不会自动缩容,但是可以手动压缩。使用一段时间后初始大小

image.png

解决

  • 清理Docker系统中未使用的镜像、容器、网络和数据卷等资源,执行 docker system prune,此命令可以释放磁盘空间(Docker Desktop除外)
  • 关停WSL2,重启或者执行 wsl --shutdown
  • 手动压缩ext4.vhdx文件,执行 Optimize-VHD -Path "D:\it\data\Docker\wsl\data\ext4.vhdx" -Mode Full 压缩后大小

image.png

参考链接