3 ms·
Your performance should not noticeably differ (on linux) between docker and just running as an uncontainerized process on the host. There's almost no difference
by andrewstuart2 5y ago
Your performance should not noticeably differ (on linux) between docker and just running as an uncontainerized process on the host. There's almost no difference as far as the kernel is concerned; it just tags your process slightly differently (different kernel namespaces and cgroups, but these apply to every process).
Bare metal usually refers to running without hardware or software virtualization (kernels within kernels), and if that were the case (docker on linux does not virtualize) it would be meaningfully faster, but that's not the case here.
The primary benefits you get from Docker may not be immediately apparent, so go for whatever works. Eventually, you'll probably find that it's substantially easier to scale out appropriately and automatically with some sort of orchestration tech, which is nearly all built on containers these days. Don't sweat it til you need it but at the same time, it's easier to learn sooner than when you're knee deep in tech debt for a dozen services.
- wisemanwillhear 5y agoDepending on how you setup networking for a docker container, you may see a notable network performance hit. Also, I've seen frustrating issues with the default docker bridge network that didn't play well with other services on our network, forcing us to switch to the "host" networking. The extra complexity & problems added by using a container solution may not give a positive ROI, even if the container abstraction provides more flexibility.