I would like to boot a Docker container using PXE network booting.

I've read that Docker containers don't really boot and I've also read about the fundamentals of network booting. I understand that Docker containers don't have a BIOS and that they can't be configured to perform a PXE network-boot in the usual way (via the BIOS).

That said, I'm hoping that there's some simple way of simulating network booting with Docker containers. Maybe there's some sort of BIOS emulator that facilitates this? Or maybe there's a PXE software client that can be run in a container?

My motivation here is not necessarily to use PXE as a tool to help deploy Docker containers, but rather to use Docker to help experiment with and prototype systems that use PXE - single-host and multi-host systems - before deploying them to physical machines.

I found the following StackOverflow post which asks essentially the same question:

Unfortunately there were no solutions there - probably because no such solution exists.

If there's an alternative container technology (i.e. operating-system-level virtualization) for Linux that supports this use case then I would accept that as well. Again, I realize that this is a long shot.

  • 2
    If you want to experiment with PXE, first thing that comes to mind is to use PXE with QEMU. However, that's machine-level virtualization. I don't think it can be done using OS-level virtualization, because you need the BIOS step, and that's pre-OS. So maybe you want to relax your restrictions? – dirkt Nov 8 '17 at 6:06
  • @dirkt Right now I'm using VirtualBox. It's working alright, but it's a little slow and the VM management feels a little clunky relative to Docker. I haven't really used Qemu before, but I'll give it a try. Thanks for the suggestion. – igal Nov 8 '17 at 12:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.