title: Kubernetes reports ImagePullBackOff for pod on minikube
body: <p>I've built a docker image within the minikube VM. However I don't understand why Kubernetes is not finding it?</p>
  
  <pre><code>minikube ssh
  
  $ docker images
  REPOSITORY                                     TAG                 IMAGE ID            CREATED             SIZE
  diyapploopback                                 latest              9590c4dc2ed1        2 hours ago         842MB
  </code></pre>
  
  <p>And if I  describe the pod:</p>
  
  <pre><code>kubectl describe pods abcxyz12-6b4d85894-fhb2p
  Name:       abcxyz12-6b4d85894-fhb2p
  Namespace:  diyclientapps
  Node:       minikube/192.168.99.100
  Start Time: Wed, 07 Mar 2018 13:49:51 +0000
  Labels:     appId=abcxyz12
          pod-template-hash=260841450
  Annotations:    &lt;none&gt;
  Status:     Pending
  IP:     172.17.0.6
  Controllers:    &lt;none&gt;
  Containers:
    nginx:
      Container ID:   
      Image:      diyapploopback:latest
      Image ID:       
      Port:       80/TCP
      State:      Waiting
        Reason:       ImagePullBackOff
      Ready:      False
      Restart Count:  0
      Environment:    &lt;none&gt;
      Mounts:
        /var/run/secrets/kubernetes.io/serviceaccount from default-token-c62fx (ro)
    mariadb:
      Container ID:   docker://fe09e08f98a9f972f2d086b56b55982e96772a2714ad3b4c2adf4f2f06c2986a
      Image:      mariadb:10.3
      Image ID:       docker-pullable://mariadb@sha256:8d4b8fd12c86f343b19e29d0fdd0c63a7aa81d4c2335317085ac973a4782c1f5
      Port:       
      State:      Running
        Started:      Wed, 07 Mar 2018 14:21:00 +0000
      Last State:     Terminated
        Reason:       Completed
        Exit Code:    0
        Started:      Wed, 07 Mar 2018 13:49:54 +0000
        Finished:     Wed, 07 Mar 2018 14:18:43 +0000
      Ready:      True
      Restart Count:  1
      Environment:
        MYSQL_ROOT_PASSWORD:  passwordTempXyz
      Mounts:
        /var/lib/mysql from mysql-persistent-storage (rw)
        /var/run/secrets/kubernetes.io/serviceaccount from default-token-c62fx (ro)
  Conditions:
    Type      Status
    Initialized   True 
    Ready     False 
    PodScheduled  True 
  Volumes:
    mysql-persistent-storage:
      Type:   PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
      ClaimName:  abcxyz12
      ReadOnly:   false
    default-token-c62fx:
      Type:   Secret (a volume populated by a Secret)
      SecretName: default-token-c62fx
      Optional:   false
  QoS Class:  BestEffort
  Node-Selectors: &lt;none&gt;
  Tolerations:    &lt;none&gt;
  Events:
    FirstSeen LastSeen    Count   From            SubObjectPath           Type        Reason          Message
    --------- --------    -----   ----            -------------           --------    ------          -------
    31m       31m     1   default-scheduler                   Normal      Scheduled       Successfully assigned abcxyz12-6b4d85894-fhb2p to minikube
    31m       31m     1   kubelet, minikube                   Normal      SuccessfulMountVolume   MountVolume.SetUp succeeded for volume "default-token-c62fx" 
    31m       31m     1   kubelet, minikube                   Normal      SuccessfulMountVolume   MountVolume.SetUp succeeded for volume "pvc-689f3067-220e-11e8-a244-0800279a9a04" 
    31m       31m     1   kubelet, minikube   spec.containers{mariadb}    Normal      Pulled          Container image "mariadb:10.3" already present on machine
    31m       31m     1   kubelet, minikube   spec.containers{mariadb}    Normal      Created         Created container
    31m       31m     1   kubelet, minikube   spec.containers{mariadb}    Normal      Started         Started container
    31m       30m     3   kubelet, minikube   spec.containers{nginx}      Warning     Failed          Failed to pull image "diyapploopback:latest": rpc error: code = Unknown desc = Error response from daemon: pull access denied for diyapploopback, repository does not exist or may require 'docker login'
    31m       30m     3   kubelet, minikube   spec.containers{nginx}      Warning     Failed          Error: ErrImagePull
    31m       29m     4   kubelet, minikube   spec.containers{nginx}      Normal      Pulling         pulling image "diyapploopback:latest"
    31m       16m     63  kubelet, minikube   spec.containers{nginx}      Normal      BackOff         Back-off pulling image "diyapploopback:latest"
    31m       6m      105 kubelet, minikube   spec.containers{nginx}      Warning     Failed          Error: ImagePullBackOff
    21s       21s     1   kubelet, minikube                   Normal      SuccessfulMountVolume   MountVolume.SetUp succeeded for volume "pvc-689f3067-220e-11e8-a244-0800279a9a04" 
    20s       20s     1   kubelet, minikube                   Normal      SuccessfulMountVolume   MountVolume.SetUp succeeded for volume "default-token-c62fx" 
    20s       20s     1   kubelet, minikube                   Normal      SandboxChanged      Pod sandbox changed, it will be killed and re-created.
    17s       17s     1   kubelet, minikube   spec.containers{nginx}      Warning     Failed          Failed to pull image "diyapploopback:latest": rpc error: code = Unknown desc = Error response from daemon: pull access denied for diyapploopback, repository does not exist or may require 'docker login'
    17s       17s     1   kubelet, minikube   spec.containers{nginx}      Warning     Failed          Error: ErrImagePull
    17s       17s     1   kubelet, minikube   spec.containers{mariadb}    Normal      Pulled          Container image "mariadb:10.3" already present on machine
    17s       17s     1   kubelet, minikube   spec.containers{mariadb}    Normal      Created         Created container
    16s       16s     1   kubelet, minikube   spec.containers{mariadb}    Normal      Started         Started container
    16s       15s     2   kubelet, minikube   spec.containers{nginx}      Normal      BackOff         Back-off pulling image "diyapploopback:latest"
    16s       15s     2   kubelet, minikube   spec.containers{nginx}      Warning     Failed          Error: ImagePullBackOff
    19s       1s      2   kubelet, minikube   spec.containers{nginx}      Normal      Pulling         pulling image "diyapploopback:latest"
  </code></pre>
  
  <p>Seems I'm able to run it directly (only for debugging/diagnoses purposes..): 
  <code>kubectl run abcxyz123 --image=diyapploopback --image-pull-policy=Never</code></p>
  
  <p>If I describe the above deployment/container I get:</p>
  
  <pre><code>Name:       abcxyz123-6749977548-stvsm
  Namespace:  diyclientapps
  Node:       minikube/192.168.99.100
  Start Time: Wed, 07 Mar 2018 14:26:33 +0000
  Labels:     pod-template-hash=2305533104
          run=abcxyz123
  Annotations:    &lt;none&gt;
  Status:     Running
  IP:     172.17.0.9
  Controllers:    &lt;none&gt;
  Containers:
    abcxyz123:
      Container ID:   docker://c9b71667feba21ef259a395c9b8504e3e4968e5b9b35a191963f0576d0631d11
      Image:      diyapploopback
      Image ID:       docker://sha256:9590c4dc2ed16cb70a21c3385b7e0519ad0b1fece79e343a19337131600aa866
      Port:       
      State:      Waiting
        Reason:       CrashLoopBackOff
      Last State:     Terminated
        Reason:       Error
        Exit Code:    1
        Started:      Wed, 07 Mar 2018 14:42:45 +0000
        Finished:     Wed, 07 Mar 2018 14:42:48 +0000
      Ready:      False
      Restart Count:  8
      Environment:    &lt;none&gt;
      Mounts:
        /var/run/secrets/kubernetes.io/serviceaccount from default-token-c62fx (ro)
  Conditions:
    Type      Status
    Initialized   True 
    Ready     False 
    PodScheduled  True 
  Volumes:
    default-token-c62fx:
      Type:   Secret (a volume populated by a Secret)
      SecretName: default-token-c62fx
      Optional:   false
  QoS Class:  BestEffort
  Node-Selectors: &lt;none&gt;
  Tolerations:    &lt;none&gt;
  Events:
    FirstSeen LastSeen    Count   From            SubObjectPath           Type        Reason          Message
    --------- --------    -----   ----            -------------           --------    ------          -------
    17m       17m     1   default-scheduler                   Normal      Scheduled       Successfully assigned abcxyz123-6749977548-stvsm to minikube
    17m       17m     1   kubelet, minikube                   Normal      SuccessfulMountVolume   MountVolume.SetUp succeeded for volume "default-token-c62fx" 
    17m       15m     5   kubelet, minikube   spec.containers{abcxyz123}  Normal      Pulled          Container image "diyapploopback" already present on machine
    17m       15m     5   kubelet, minikube   spec.containers{abcxyz123}  Normal      Created         Created container
    17m       15m     5   kubelet, minikube   spec.containers{abcxyz123}  Normal      Started         Started container
    16m       1m      66  kubelet, minikube   spec.containers{abcxyz123}  Warning     BackOff         Back-off restarting failed container
  </code></pre>