This is one part informal bug report, one part "hey, looked what I stepped in."
With Bitbucket Pipelines, you can use a custom Docker image for either your entire pipeline, or for just a step in it. HOWEVER, it appears that when a container is instantiated, anything that was put into `/opt/atlassian/pipelines/agent/build` is replaced with whatever is in the repo.
That is to say, if you had tools installed in that directory, your build may run great if you use the Docker container locally, but when you tell BB to use that docker container, your builds will fail with a "couldn't find <tool name>"...because it got nuked when the repo stuff was copied into the `build` directory!
This seems a little hinky, but I think I understand the reasoning behind it. However, it doesn't appear to be documented anywhere, except in another question like this one, 3 years ago. I learned this the hard way with a 10G Docker image (Android builds, oof).