Images are specified using a "reference" which gets parsed to identify where the image is pushed or pulled from. That reference includes the registry, repository, and tag. If the registry is excluded, Docker Hub is used as the default. And if the tag is excluded, latest
is used as a default. The syntax looks like:
registry.example.org/some/repository:tag
So to push your image to your own registry, you need to specify that registry in the image name that you build:
docker buildx build -t registry.example.org/some/repository:tag --push .
Additional configuration options for a registry can be defined in the buildkitd.toml. Buildx also allows for other output types, however, pushing to a docker engine before the transition to containerd for image management will only support a single platform.
docker buildx build --load
to load into local registry: docs.docker.com/engine/reference/commandline/buildx_build/#load – Enlistee