我在这里感觉非常愚蠢。我希望K8s从本地注册表中提取Docker镜像,以确保我的开发周期尽可能快。
我已根据the instructions设置了本地注册表,并使用了不安全的注册表。我已经将图像推送到它,并通过使用VS Code的Docker扩展查看它们已经确认它们位于注册表中:
我真的不知道是否使用localhost
,$MACHINE_NAME
或$LOCAL_IP_ADDRESS
,所以我做了三个。
我可以通过命令行成功从这些注册表中提取图像。但是,当K8s(通过minikube运行)尝试拉动时,它会失败:
无法提取图像“localhost:5000 / service1”:rpc错误:代码=未知desc =来自守护程序的错误响应:获取http://localhost:5000/v2/:拨打tcp 127.0.0.1:5000:连接:连接被拒绝
为什么这样,我该如何纠正?
您可能希望阅读此博客,其中提供了有关如何在minikube上设置注册表的详细信息。
https://blog.hasura.io/sharing-a-local-registry-for-minikube-37c7240d0615/
这里的想法是minikube上的docker守护进程能够从名为localhost:5000的注册表中提取。这是通过在minikube上实际运行注册表然后设置代理以使minikube VM端口5000映射到注册表5000来实现的。