我可以理解,从本地机器访问 docker 镜像到 Minikube VM 的不同方式。
(Kubernetes + Minikube)无法从本地注册表获取 docker 镜像
所有这些示例均适用于 Mac/Linux 用户。
我正在寻找针对 Windows 用户的等效建议。
Windows 相当于 -> eval $(minikube docker-env)
我找到了相对简单的方法,通过在 PowerShell 中运行以下命令将 docker 客户端(docker-machine)指向 minikube 的 docker 环境 ->
PS C:\Users\ABC> minikube docker-env
PS C:\Users\ABC> minikube docker-env |调用表达式
就像曼韦德拉所说,这些步骤对我也有效。在 powershell 命令提示符中运行以下命令:
minikube start
,启动 minikube 集群。
minikube docker-env
,它会配置一些环境变量,底部会显示最后运行的命令。
minikube -p minikube docker-env | Invoke-Expression
,最后一步。
完成。
同样的错误,这个解决方案对我不起作用。
我在这里找到了这个解决方案。
你应该以单独的方式安装docker:
虽然有点晚了,但你可以在 Windows 上执行此操作:
minikube 缓存添加 alpine:最新
这给了我消息说它已被弃用。
所以最后使用这个:- minikube image load imagename
其中 imagename 是 docker 守护进程镜像名称
参考:https://minikube.sigs.k8s.io/docs/commands/image/#minikube-image-load
这些是您基本上必须运行的 3 个命令 -
minikube 启动 minikube docker-env & minikube -p minikube docker-env |调用表达式
请按照上述答案打开Windows powershell,执行minikube docker-env。
--> 输出结果,记下最后一行并执行它以指向 k8s 内的 docker 实例。我发现下面的命令对我有用。
minikube -p minikube docker-env --shell powershell |调用表达式
Windows 相当于 -> eval $(minikube docker-env)
要么
docker-machine env my-default
或
@FOR /f "tokens=*" %i IN ('docker-machine env YOURMACHINENAME') DO @%i