老白的Docker for Windows安装初探WSL 2 backend(续篇)

原文:https://post.smzdm.com/p/a4wm8kpx/

创作立场声明:老白的踩坑过程,感谢您的理解和支持!

大家好,前段时间展示了Docker Desktop的两个版本的安装踩坑过程。对于Docker Desktop WSL 2 backend,简单测试之后仍是有很多的疑问(毕竟菜鸟一只),我想知道的最主要问题是:用到Windows NAS上有没有可操作性?适用吗?带着这些疑问,重新阅读了微软的WSL文档并结合实际操作去测了一番,分享一下我的心得体会。

适用于 Linux 的 Windows 子系统安装指南 (Windows 10)


踩坑链接:

WSL面向的用户

开发人员或需要在Windows上使用linux工具的用户。社区不乏大神出没,看来这个从定位上来讲并不适合我这种老菜鸟,太难了。老白的Docker for Windows安装初探WSL 2 backend(续篇)

WSL2的目标和访问

WSL 2优点包括Windows和Linux无缝集成,启动时间短,资源占用量少,并且无需VM配置或管理。更好的文件系统性能,完全的系统调用兼容性,微软强调将项目文件存储在linux文件系统中以获得更好的性能。来看图说说访问的方式。

Windows中查看子系统文件

 

子系统中查看Windows文件

微软提到的例外情况

微软在例外情况中说明了推荐使用WSL1的某些情况,当然我没用过WSL1,但这些可以作为折腾时的参考。

1、你的项目文件必须存储在windows系统中。

“如果你将使用 WSL Linux 分发版来访问 Windows 文件系统上的项目文件,并且这些文件无法存储在 Linux 文件系统上,那么,通过使用 WSL 1,你将跨 OS 文件系统实现更快的性能。”

折腾docker主要是免去了许多部署的麻烦,非常方便。最终目的还是对NAS上的文件进行操作,符合上述情况。Win NAS,由此看来WSL 2似乎不太合适啊 。

其他说明

WSL2 VHD使用ext4文件系统,大小动态调整,最大256GB,可手动扩展大小。WSL2的初始版本中,无法访问GPU、串行或USB设备。微软在Window 10预览版Bulid20150已经针对linux子系统进行了更新,包括GPU计算WSL安装和更新,但正式发布那可能是9月以后的事情了...

 

WSL2的文件系统

WSL分发版支持导入导出的命令。子系统需不需要实时的备份呢?老白的Docker for Windows安装初探WSL 2 backend(续篇)

一些简单测试记录

Typecho

将数据存储在Windows指定的目录,没问题。

 

访问Windows目录

 

数据详情

Emby

Emby有原生的Windows版本,折腾嘛,看看是否会有多一种可能。容器运行正常,媒体库添加文件夹时列表中找不到mnt目录。这里不知道是不是操作或者设置上有什么问题,阅读了WSL文件权限的部分,还是没太明白,有大佬可以指点一二嘛老白的Docker for Windows安装初探WSL 2 backend(续篇)

 

Emby

 

Emby找不到目录

KodExplorer

同上,访问不了Window目录。

 

可道云

迷之内存占用

看到一些帖子反馈占用内存特别大。跑了一下,确实有这样的情况,跑4个容器的内存占用比2个低,不知道为什么没有释放,难道全拿去缓存了?查了一下,万能的网友也有解决办法,放出来参考(根据自己情况调整内存和swap的大小)

在 %UserProfile% 文件夹下创建.wslconfig文件,内容:

[wsl2]

memory=1GB

swap=1

localhostForwarding=true

2个容器

4个容器

写在最后

摸摸我的J1900小NAS,这个预想的Windows+Docker的方案,从定位、支持情况、折腾过程、硬件资源占用各方面来看,确实不太适合我。老老实实参考其他方案,或者在linux上折腾docker比较好。至于Docker Desktop WSL 2 backend,未来还有无限可能。老白的Docker for Windows安装初探WSL 2 backend(续篇)

应了开篇那句,Windows下的Docker,想说爱你不容易(现阶段)!

老白的Docker for Windows折腾完结,感谢阅读支持!

原文地址:https://www.cnblogs.com/panpanwelcome/p/14964270.html