I guess you have some kind of linux based system of your home server. The USB connection to the printer will create a Serial Interface in your system under /dev. How it is called depends on the USB chip used in your printer, but often this is something like ttyUSB0.
So when connecting the printer you get the device file /dev/ttyUSB0 (or similar) on your home server (yes, the Serial interface is just a special file on that level). You can now mount this device file into the docker container like any other hostfile via the volume option.
Like docker run -v /dev/ttyUSB0:/dev/ttyUSB0 octoprint or by using the volumes key for your octoprint service in the docker-compose file, providing the same string as in the docker run command.
I think that should work, though I haven't tested it.