I have some images on my local docker instance, one of which is named door_controls
:
>docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
door_controls latest d22f58cdc9c1 3 hours ago 1.12GB
[...]
This image is also deployed to my minikube instance:
>minikube ssh -- docker image ls
door_controls latest d22f58cdc9c1 3 hours ago 1.12GB
[...]
(It is also clear to me that these are different docker daemons, because the one on minikube also lists the k8s daemons). The documentation (and this canonical Stackoverflow answer) suggests that
minikube image load door_controls
minikube kubectl run door-controls --image=door_controls --port=7777
is the way to deploy this image from the command line, but the event log tells me something failed along the way:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 59s default-scheduler Successfully assigned default/door-controls to minikube
Normal Pulling 17s (x3 over 59s) kubelet Pulling image "door_controls"
Warning Failed 16s (x3 over 57s) kubelet Failed to pull image "door_controls": rpc error: code = Unknown desc = Error response from daemon: pull access denied for door_controls, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
Warning Failed 16s (x3 over 57s) kubelet Error: ErrImagePull
Normal BackOff 1s (x3 over 57s) kubelet Back-off pulling image "door_controls"
Warning Failed 1s (x3 over 57s) kubelet Error: ImagePullBackOff
In the classic tradition of invoking commands I don't understand in the hope that it fixes the problem, I have followed the advice of another answer and tried setting the docker daemon to minikube's:
>eval $(minikube -p minikube docker-env)
//these aren't echoed by the shell of course
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://127.0.0.1:54664"
export DOCKER_CERT_PATH="/Users/airza/.minikube/certs"
export MINIKUBE_ACTIVE_DOCKERD="minikube"
It seems as though the default configuration wants TLS enabled (from localhost to localhost?) but I am not sure how to turn it off or how to add valid TLS from localhost to localhost in the first place.
It is also not clear if this is even the issue or if something else is. Is my nomenclature for the image wrong? Do I need to specify a repo? Why does this image not deploy?