A Docker registry has own authentication system. So does AWS (and GCloud). So what you end up is one wrapping the other: To access the ECR, you have to run an AWS command to get a token to put into "docker login". Google has "gcloud docker login" for the same purposes. Both produce temporary credentials that time out, so can't be used for long-running things.
This means that any tool designed to work with a Docker registry needs to support this particular workflow. For example, this affects Drone [1].
It also adds complexity. GCloud is particularly heavy on the authentication complexity side already (compared to AWS's comparatively simple keypair approach), and with SSH, GCR and Kubernetes on top it starts to stack up in ways which can make users' head spin.
Straight Docker Hub is refreshingly straightforward by comparison.
[1] http://readme.drone.io (not to be confused with drone.io)