使用k3s访问本地docker镜像

问题描述 投票:0回答:3

有没有办法用k3s直接访问本地docker镜像(不使用“docker save”)?

就像 minikube 在运行此命令后访问本地 docker 镜像一样

eval $(minikube docker-env)

一点背景知识。

我已经使用 k3s 设置了一台机器,使用 Ubuntu 19.04 作为“master”,将 raspberry pi 作为“worker”。现在,我想使用本地镜像在工作节点上创建部署。

更新

添加屏幕截图,如下面评论中所述。

Screenshot for the image listings

docker kubernetes k3s
3个回答
18
投票

虽然这并不能让所有 Docker 镜像都可用,但一个有用的解决方法是导出本地 Docker 镜像并将其导入到您的

ctr
:

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

这将使它们按需可供您的 k3s 集群使用。 这对于无法让

k3s server
使用
--docker
标志的用户非常有用。


13
投票

您可以像这样启动k3s

sudo k3s server --docker
,它将使用主机的Docker而不是containerd。这将使所有本地图像可供 k3s 使用,如果您的 ImagePullPolicy 为 IfNotPresent,k3s 将使用它而不是尝试拉取它。


0
投票

在 k3s 中缺少 docker 引擎,您可以使用 k3s ctr 命令加载新的容器镜像。

首先将 docker 镜像加载为 tar 文件,然后使用 k3s ctr 镜像导入命令

例如: k3s ctr 图像导入 [图像 tar]

© www.soinside.com 2019 - 2024. All rights reserved.