I have run into difficulty in using Docker on a Threadripper 3990X. Despite launching 64 containers, each with the --cpus 2 option passed to docker run, I cannot get Docker to use both of the NUMA nodes in that CPU. It always uses node 0. My understanding is that --cpus 2 should map to two threads or one core. So with 64 containers, I should be able to saturate my CPU, but no matter what, only NUMA node 0 is saturated. This is on Windows 10 Enterprise.
EDIT 1: I'm using Windows containers and the guest OS is also Windows (same version as the host).
I've tried --cpuset-cpus and --cpuset-mems but I get errors saying that Docker for Windows does not support these options. I've tried start /NODE <NUMA_node> docker run but that had no effect on which NUMA node the VM runs on. The only bit of success I've had was using --isolation process as that exposes all of the cores. However, the nature of the app that I'm containerising means that I really want to switch back to Hyper-V isolation mode.