Take a look at this:
C:\> docker run --rm -it --privileged ubuntu:focal
root@4c806ae5de55:/# apt-get update
...
root@4c806ae5de55:/# apt-get install dmsetup
...
root@4c806ae5de55:/# dmsetup targets
verity v1.7.0
thin-pool v1.22.0
thin v1.22.0
raid v1.15.1
crypt v1.22.0
striped v1.6.0
linear v1.4.0
error v1.5.0
Conspicuous by its absence is the snapshot
target that I'm trying to use. It exists on a real Ubuntu install, but not here. How do I make it come back?
I'm running Docker Desktop on Windows, which appears to be configured to use the WSL 2 backend.
Edit: I presume, given the way Docker works, this has nothing to do with what container I'm trying to run, and everything to do with what Linux kernel WSL is using. From what I can tell, you can install multiple WSL distributions, but they all use the same Microsoft custom kernel. Presumably I would have to somehow build a whole custom kernel, or at least build dm_snapshot.ko
suitable for loading into the WSL kernel. (?)