Skip to content
Latchkey

minikube image load: Use Local Images

minikube image load <image> copies a host-built Docker image into the minikube node so pods run it with no registry push.

Like kind, minikube cannot see host images by default. minikube image load bridges docker build and kubectl apply for local integration tests.

What it does

minikube image load copies an image from the host Docker daemon into the cluster's container runtime. minikube image build builds directly inside the node, and minikube image ls lists what is loaded. With the image present, set imagePullPolicy: IfNotPresent.

Common usage

Terminal
docker build -t myapp:test .
minikube image load myapp:test
minikube image ls | grep myapp
# build straight into the node
minikube image build -t myapp:test .

Options

FormWhat it does
image load <name>Copy a host image into the node
image build -t <name> .Build an image inside the node
image lsList images present in the node
image rm <name>Remove an image from the node

In CI

Build, minikube image load, then apply. Tag with the commit SHA rather than :latest so the kubelet does not reuse a stale image of the same tag. An alternative is eval $(minikube docker-env) so docker build targets the node directly, skipping the load step.

Common errors in CI

ImagePullBackOff with :latest is the default-pull-policy trap; tag a real version and set imagePullPolicy: IfNotPresent. Failed to load image: ... no such image means the build tag and the load name differ. With the containerd runtime, an image loaded into Docker but not containerd is not visible; use minikube image load, which targets the active runtime.

Related guides

Run this faster and cheaper on Latchkey managed runners. Start free →