(no title)
NilsIRL | 2 years ago
Enough for the executables to run everywhere. So I'm happy for system libraries to be dynamically linked.
> But do you even want to distribute Windows binaries?
That's what I'm imagining. A windows binary that starts a Linux VM in which the container runs.
> Does this include automagically mounting filesystems?
Yep, inside of the Linux kernel. Here's what PID 1 looks like: https://github.com/NilsIrl/dockerc/blob/non_linux/src/init.z...
Cu3PO42|2 years ago
> A windows binary that starts a Linux VM in which the container runs.
I'm afraid my wording was somewhat ambiguous here. I meant to ask "do you aim to wrap Windows apps in a single Windows binary", but I suppose you answered my question anyway. You want to distribute Linux applications to Windows users.
Running on Windows/macOS was also the context in which I meant to ask about filesystem mounts. I understand this is not something that's implemented yet, but I'm wondering about your goals. Things obviously get much trickier than they are on Linux. On Windows I'd probably include a Plan9 server for file sharing.
The much larger hurdle I see for Windows support is that I don't think you can setup virtualization without Admin privileges in the general case. If Hyper-V is not already present and enabled you'll need to install some hypervisor. Even QEMU needs Hyper-V for proper virtualization.
NilsIRL|2 years ago
That's not an issue because the mounts are within the Linux VM. At least as long as you're not trying to implement volumes.
> I understand this is not something that's implemented yet, but I'm wondering about your goals.
Make a better alternative for all the projects that suggest using `docker run` in their READMEs. Something that's easy to setup (re-use existing Dockerfiles) and something that doesn't depend on pre-existing setup from the user (which docker does).
> The much larger hurdle I see for Windows support is that I don't think you can setup virtualization without Admin privileges in the general case. If Hyper-V is not already present and enabled you'll need to install some hypervisor. Even QEMU needs Hyper-V for proper virtualization.
That's good to know. I didn't know that. I guess it will need to use emulation in some cases then.