我真的很困惑,我在学习使用minikube创建服务和其他东西的kubernetes。
问题来自以下形状:
在全新安装minikube之后,我运行以下命令:
eval $(minikube docker-env)
原因是因为我想从计算机上获取图像以用于minikube。我的理解是,使用此命令,我在minikube和docker中处于相同的上下文中,因此可以访问我的本地映像。 “如果我错了,请纠正我。”
minikube start
所以我启动并运行集群,并准备开始创建事物。
我要拉以下容器:
docker pull nginx/nginx-ingress
因为我想尝试一个入口控制器来使用我的服务。
但是随后我得到了这个奇怪的消息:
Using default tag: latest
Warning: failed to get default registry endpoint from daemon (Cannot connect to the Docker daemon at tcp://192.168.99.101:2376. Is the docker daemon running?). Using system default: https://index.docker.io/v1/
Cannot connect to the Docker daemon at tcp://192.168.99.101:2376. Is the docker daemon running?
我跑步:
docker ps
没有视频环聊的结果。
我去另一个终端,运行docker ps
,它的工作原理就像是一种魅力。
如果有人可以告诉我该命令的影响:
eval $(minikube docker-env)
如果您知道为什么在我当前使用minikube的术语中运行无法访问我的docker机器会有很大帮助。
答案 0 :(得分:1)
minikube
作为单节点Kubernetes集群启动专用虚拟机。如果您有其他Docker环境(单独的Docker Machine VM,Docker Toolbox VM,Mac的Docker或Windows环境的Docker或Linux本地Docker),则它们与VM中的Docker分开。您无法在这些环境之间共享图像或容器。
如果您有未发布到注册表的私有映像,则在切换到Minikube环境时必须重新docker build
。否则,当您在Kubernetes窗格规范中引用它们时,您不必特别docker pull
使用的东西。Kubernetes会为您拉动它们。