I have long thought Docker's layered filesystem could be an ideal way to build images for running DOS and early Windows programs. This could allow, for instance, a base Windows 3.1 image, which you could extend with installation files and settings for a particular program or game, without worrying about messing up other programs you also run in that environment. The derived image's Dockerfile could modify the autoexec.bat to run a particular program, and upon exiting, stop the container.
I actually made a proof of concept of this a few years back, but I never could figure out a way to get sound working. If this is possible through your base image this could open up the possibility of DOSBox in the browser with better performance than JSDos implementations such as ClassicReload.
Join the discussion!