在 Windows 平台通过 Docker Desktop 部署 Syncthing 的时候发现文件全部被重新同步了,究其原因是因为 Windows 下的文件系统权限 meta 信息没有带过来。

Docker Desktop 支持在 WSL2 下运行 Docker,也就是说可以使用以前同样的配置去解决 WSL 的宿主机(也就是 Windows 系统)的文件权限问题。

找个 PowerShell 打开 docker-deskop 的 WSL2 虚拟机终端

wsl -d docker-desktop

然后找到文件 /etc/wsl.conf ,建议保险起见先备份原有的配置。增加或修改对应的配置如下:

[automount]
enabled = true
root = /mnt/host
options = "metadata,umask=22,fmask=111"
mountFsTab = true

[filesystem]
umask = 022

然后重启 Docker Desktop 就可以了。PS,有其他 WSL2 访问宿主机碰到类似文件的权限问题也可以这样子处理。

- eof -