You have stages called base, build, and debug. Then in the final stage you have:
COPY --from=publish/app /app .
When docker can’t find the stage with that name, publish/app, it tries to find that image, which doesn’t exist. I’m guessing you want to copy from the build stage, e.g.
COPY --from=build /app .