23

Is there any way to access local docker images directly (without using 'docker save') with k3s?

Like minikube accesses local docker images after running this command

eval $(minikube docker-env)

A little bit of background.

I have set up a machine using Ubuntu 19.04 as 'master' and raspberry pi as 'worker' using k3s. Now, I want to use a local image to create a deployment on the worker node.

Update

Adding screenshot as said in the comment below.

Screenshot for the image listings

enter image description here

mpromonet
  • 11,326
  • 43
  • 62
  • 91
Naveed
  • 331
  • 1
  • 2
  • 6

2 Answers2

13

You can start k3s like this sudo k3s server --docker which will use host's Docker rather than containerd. This will make all local images available to k3s and if your ImagePullPolicy is IfNotPresent k3s will use it rather than trying to pull it.

foobarto
  • 544
  • 5
  • 5
  • On Arch I tried that. So I edited /usr/lib/systemd/system/k3s.service, adding the ` --docker` : `ExecStart=/usr/bin/k3s server --docker`. `sudo systemctl daemon-reload` `sudo systemctl restart k3s.service`. When I did kubectl, it may no longer work correctly, sometimes seemingly doing the command, but always printing `The connection to the server 127.0.0.1:6443 was refused - did you specify the right host or port?` or `Error from server (InternalError): an error on the server ("apiserver not ready") has prevented the request from succeeding (get pods)`. I guess crashing. – Attila123 Feb 05 '22 at 15:00
  • In new versions it says: `--docker is no longer supported; to continue using docker, install cri-dockerd and set --container-runtime-endpoint` – HamedH Aug 26 '22 at 10:28
13

While this doesn't make all Docker images available,, a useful work-around is to export local Docker images and import them to your ctr:

docker save my/local-image:v1.2.3 | sudo k3s ctr images import -

This will make them available on-demand to your k3s cluster. This is useful for users who cannot get k3s server to work with the --docker flag.

Thomas Anderson
  • 424
  • 4
  • 5