One thing that I find a pain with Docker containers is that if you are using bridge networking mode, you must specify (expose, publish) all your ports when you create your container. (if using host networking mode, then opening a port in the Solace broker will just open it to the host as well). So if you want to use multiple Message VPNs on the (Docker container) broker and you create them later on and add new ports later on (e.g. for REST, MQTT, AMQP), you will need to recreate the container with the new ports added. So that’s not super great.
And apparently you might get slightly better performance using machine images, since the OS has been tuned somewhat. Using Docker, you’re using just the host’s OS. Not sure how noticeable that is though. I think the port thing is more important.
But yeah, no functional difference between any of the packaging options. As Tom said, go with whatever defaults/standards your company uses, align with that, just makes it easier.