I can’t test now on an other machine, but it works perfectly without any error on my macOS with the ARM processor emulated by qemu in Docker Desktop.
The virtual machine under Docker Desktop runs LinuxKit which (if I am not mistaken) based on Alpine Linux. At least it uses the APK package manager.
Alpine and Debian based distributions have different libraries. I don’t know how much the kernel of LinuxKit is different, but the Ubuntu distributions you are trying to run in containers have very old libraries and might not compatible with the kernel or other parts of the host. I am not 100% sure what matters here.
However, I am 100% sure that when someone says running something in a container means it will run on every host the same way, it is not true. Very old systems can be hard to run on new hosts. Using just a little older system is usually not a problem.
I think there is an Alpine distribution for WSL. You can try to run Docker on that, but Alpine hosts are not mention in the official documentation. You can find some information in the Alpine wiki:
and you can check how the Alpine based Docker in Docker image is created
If none of these solutions work, you can try to install Docker Desktop until you can update your software to be compatible with a more recent distribution.
If you don’t want to install Docker Desktop, you can try to install qemu in the WSL distribution. Maybe It worked for me because of qemu and not because of LinuxKit. I think I had a similar error when I wanted to emulate a container. I don’t remember exactly, but maybe it is the other way around. The problem is I don’t know how you could use the emulator when your architecture is the same as the architecture of the container.
Here is how you can install qemu for Docker on Ubuntu:
sudo apt-get install qemu binfmt-support qemu-user-static
binfmt is what Docker needs.
IF nothing works, then the solution may be to run the old distributions in a virtual machine.