I think Bazel can be a good fit for larger polyglot organizations that need to manage large codebases in many languages in a uniform way. Basically Google-circa-2010-sized organizations, coincidentally!
For smaller teams, adopting Bazel too early can be a real productivity drain, where you get all of the downsides of its constraints without as many of its benefits. Bazel is overkill for a project of ~10 Go apps, for example. Ko was actually created to help such a project (Knative) migrate off of Bazel's rules_docker to something better, and I think it achieved the goal!
If you have your project packaged with nix (which shouldn't be too complicated if your build process is not too special) it is trivial to turn a nix derivation into a docker image: https://nixos.org/manual/nixpkgs/stable/#ssec-pkgs-dockerToo.... As a bonus, it is completely language-agnostic.
https://github.com/bazelbuild/rules_docker#rust_image