I'm currently running OctoPrint on a dedicated Linux PC, connected to one printer. However I recently got another printer, and potentially would like to hook up both to the one PC.
The two options I can think of are Virtualbox VMs and Docker containers, and I'm not leaning strongly one way or the other. I'm just wondering if there are any pitfalls to either method, such as e.g. the USB ports being consistently assigned to the proper vm/container on every system reboot.
Does anyone have any experience doing this? Any advice, ideas, guides? Thanks in advance.
I would personally not bother with either docker or VMs. Certainly VMs would not be on my list due to the increased overhead. Docker can be a pain to administer, especially if your printers disappear (when you turn them off) - without udev rules & stuff, then the container does not start without the printer connected already.
On OctoPrint.org - Download & Setup OctoPrint, you'll find the "octoprint_deploy" script which allows you to setup multiple instances of OctoPrint natively, just installed & running on the host like normal. It's quite easy to use the script. In general this is considered the easiest way by the majority in the community, unless you have any particular reason for using Docker & are already familiar with it.
If you know your way around Linux you can use native Linux containers. I have successfully deploy this on my own multi printer setup, however you have to understand serial devices and passing through hardware devices into containers.
With octoprint on a Linux PC, just configure a second instance.. There's no VM or docker magic necessary. I have Two printers (Ender 2 and Ender 3) running an a 15yr old Core 2 duo under Linux Mint/Ubuntu.