How to pull image from dockerhub in kubernetes?
One line command to create a Docker registry secret
kubectl create secret docker-registry regcred --docker-username=<your-name> --docker-password=<your-pword> --docker-email=<your-email> -n <your-namespace>
Then you can use it in your deployment file under spec
spec: containers: - name: private-reg-container-name image: <your-private-image> imagePullSecrets: - name: regcred
Kubernetes run docker pull pseudo/your-image:latest
under the hood. image
field in Kubernetes resources is simply the docker image to run.
spec: containers: - name: app image: pseudo/your-image:latest[...]
As the docker image name contains no specific docker registry url, the default is docker.io. Your image is in fact docker.io/pseudo/your-image:latest
If your image is hosted in a private docker hub repo, you need to specify an image pull secret in the spec field.
spec: containers: - name: app image: pseudo/your-image:latest imagePullSecrets: - name: dockerhub-credential
Here is the documentation to create the secret containing your docker hub login: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/