aditya rawat
aditya rawat

Reputation: 129

Run private docker image on minikube k8s

This is the error i get after using secret I want to run a private docker image on my minikube k8s . But the pod is never able to pull my image from docker .

How can i pull private image in k8s and use it?

This my yaml for pod {apiVersion: v1 kind: Pod metadata: name: privaterepo spec: containers: - name: private-reg-container image: raveena1/test imagePullSecrets: - name: regsecret}

The log is:- container "private-reg-container" in pod "privaterepo" is waiting to start: trying and failing to pull image

Upvotes: 0

Views: 1461

Answers (1)

vivekyad4v
vivekyad4v

Reputation: 14913

You need to create a secret & use it in your YAML/JSON deployment file -

Create secret (Like for Docker registry, you can change the registry server URL) -

$ kubectl create secret docker-registry regsecret --docker-server=https://index.docker.io/v1/ --docker-username=$USERNM --docker-password=$PASSWD [email protected]

deployment.yaml (use regsecret)-

---
 apiVersion: apps/v1beta2
 kind: Deployment
 metadata:
   name: local-simple-python
 spec:
   replicas: 2
   selector:
     matchLabels:
       app: local-simple-python
   template:
     metadata:
       labels:
         app: local-simple-python
     spec:
       containers:
         - name: python
           image: vivekyad4v/local-simple-python:latest
           ports:
             - containerPort: 8080
       imagePullSecrets:
         - name: regsecret

Deploy -

$ kubectl create -f deployment.yml

Your pods should now be able to fetch docker images on private registry.

You can find more info on -

https://github.com/vivekyad4v/kubernetes/tree/master/kubernetes-for-beginners

Official doc - https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/

Upvotes: 1

Related Questions