I am using Kubernetes for the first time, and having a nasty time trying to reference a private DockerHub image.
In the yaml, this is what I have:
.... many other lines
-image: registry.hub.docker.com/MY_DOCKER_HUB_USERNAME/MY_IMAGE_NAME:latest
The error I'm getting says
Failed to pull image "registry.hub.docker.com/MY_DOCKER_HUB_USERNAME/MY_IMAGE_NAME:latest":
image pull failed for registry.hub.docker.com/MY_DOCKER_HUB_USERNAME/MY_IMAGE_NAME:latest,
this may be because there are no credentials on this request.
details: (Error: image MY_DOCKER_HUB_USERNAME/MY_IMAGE_NAME not found)
Now, I am a total know-nothing when it comes to Kubernetes configuration, but so far, where have I gone wrong?
Here is an example on how to create a secret key for your private repos an reference it in a deployment:
create the secret key
kubectl create secret docker-registry myregistrykey --docker-server=DOCKER_REGISTRY_SERVER --docker-username=DOCKER_USER --docker-password=DOCKER_PASSWORD --docker-email=DOCKER_EMAIL
use it in a deployment
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: example
namespace: default
spec:
replicas: 1
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
type: RollingUpdate
template:
metadata:
labels:
run: example
spec:
containers:
- name: example
image: myregistryrepo/myimage:latest
ports:
- containerPort: 80
name: http
imagePullPolicy: Always
imagePullSecrets:
- name: myregistrykey