I managed to figure it out. It was because the image was built locally on my M1 Mac, so was built for ARM but Cloud Run uses AMD64. Once I changed that it worked.
Strange that the error had nothing to do with the actual issue, but here we are.
Thanks everyone for your responses.