Your Dockerfile has no USER instruction, so your app is running as root
Skipping the USER instruction in a Dockerfile is the default, not a deliberate choice, and it quietly removes one of the two layers standing between a container bug and the host.