I think the problem with specifying just 'apline:3' is that it is an ambiguous statement. Do you want alpine:3.0? Or do you want the latest in the alpine:3.x line?
I think either using 'latest' or specifying a particular point release is what you'd expect.
Edit:
> [... ]people do alpine:latest in their Dockerfiles, cross their fingers, and hope for the best.
What are you crossing your fingers for? alpine:latest should be the latest stable, and should work as intended.