Working with a public registry

After building an image we can push it to one of the mainstream public registries. For this example we have created an account with with the username kjackal.

First we run the login command:

docker login

Docker will ask for a Docker ID and password to complete the login.

Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to to create one.
Username: kjackal
Password: *******

Pushing to the registry requires that the image is tagged with your-hub-username/image-name:tag. We can either add proper tagging during build:

docker build . -t kjackal/mynginx:public

Or tag an already existing image using the image ID. Obtain the ID by running:

docker images

The ID is listed in the output:

REPOSITORY          TAG                 IMAGE ID            SIZE
mynginx             local               1fe3d8f47868        16.1MB

Then use the tag command:

docker tag 1fe3d8f47868 kjackal/mynginx:public

Now that the image is tagged correctly, it can be pushed to the registry:

docker push kjackal/mynginx

At this point we are ready to microk8s kubectl apply -f a deployment with our image:

apiVersion: apps/v1
kind: Deployment
  name: nginx-deployment
    app: nginx
      app: nginx
        app: nginx
      - name: nginx
        image: kjackal/mynginx:public
        - containerPort: 80

We refer to the image as image: kjackal/mynginx:public. Kubernetes will search for the image in its default registry,

Last updated 10 months ago. Help improve this document in the forum.