If you are going to use Docker Hub instead of the local registry and need the Repo to be private, then you would have to upgrade your account. Also, I think Docker has a setting for the default of new repos either to be public (default) or private. I would verify this setting if you're wanting the image to be private. Once verified, you can then build and push the image without first creating it on Docker Hub.