Kubernetes无法在本地运行docker镜像

Lud*_*udo 6 kubernetes minikube

我正在尝试运行我用Kubernetes在本地构建的docker镜像.

这是我的命令行:

kubectl run myImage --image=myImage --port 3030 --image-pull-policy=IfNotPresent
Run Code Online (Sandbox Code Playgroud)

我见过很多人说我们需要添加--image-pull-policy=IfNotPresent标志,这样Kubernetes可以在本地查找图像而不是Docker Hub,但我仍然会收到此错误(来自pod,服务和部署的Minikube仪表板).

无法提取图像"myImage":rpc错误:code = Unknown desc =来自守护程序的错误响应:对myImage拉取访问权限,存储库不存在或者可能需要"docker login"

但看起来这里还有另一个问题,我也尝试过--image-pull-policy=Never,它也不起作用.

任何的想法?

Abd*_*hin 12

image不使用minikube.

Minikube使用单独的docker daemon.这就是为什么,即使图像存在于您的机器中,它仍然在minikube内部丢失.

首先,将图像发送到minikube,

docker save myImage | (eval $(minikube docker-env) && docker load)
Run Code Online (Sandbox Code Playgroud)

此命令将图像保存为tar存档,然后将图像加载到minikube中.

接下来,使用image-pull-policy设置为的部署中的映像IfNotPresent

kubectl run myImage --image=myImage --port 3030 --image-pull-policy=IfNotPresent
Run Code Online (Sandbox Code Playgroud)