My experience is that anything involving Bazel is slow, bloated, and complicated, hammers your disk, copies your files ten times over, and balloons your disk usage without ever collecting the garbage. A lot of essential features are missing so you realistically have to build a lot of custom rules if not outright additional tooling on top.
I'm not too surprised that out of the box docker images exhibit more of this. While it's good they're fixing it, it feels like maybe some of the core concepts cause pretty systematic issues anytime you try to do anything beyond the basic feature set...
To be clear, when you say “they’re fixing this”…the Bazel maintainers have nothing to do with this.
Bazel is a general purpose tool like Make. But with caching and sandboxing and different syntax.
Make is no less focused on Docker than Bazel is.
Unlike Make however, Bazel does make it easy to share rule sets.
But you don’t need to use other people’s Bazel rule sets any more than you need to use other people’s Make recipes.
This author has a clever way to minimize needing to touch layers at all.
For some more depth into the "bloat" of bazel, I like this reference: https://fzakaria.com/2024/02/27/hermetic-but-at-what-cost