如何使用在minikube中的主机上运行的docker daemon

时间:2019-08-08 06:01:10

标签: docker minikube

我已经在笔记本电脑上安装了minikube,我发现minikube使用了在集群中运行的docker守护进程。

是否可以运行minikube以使用主机docker守护程序?

我尝试使用

export DOCKER_HOST="tcp://localhost:2376" 跑了,minikube start

minikube start --docker-env=DOCKER_HOST="tcp://localhost:2376"

两者均无效。

2 个答案:

答案 0 :(得分:1)

@David Maze,您在回答中写的内容并不完全正确:

  

不。 Minikube在VM中运行,无法连接到主机的   /var/run/docker.sock文件。

假设只有在特定情况下它才是正确的,所以下面的问题:

  

是否可以运行minikube以使用主机docker守护程序?

我会回答:是的。但是,典型的 Minikube 实例在单独的VM上运行,仍然可以直接在主机上运行它。您可以在minikube installation guide的官方 Kubernetes 文档中了解更多信息:

  

注意:Minikube还支持--vm-driver = none选项,该选项可运行   Kubernetes组件位于主机而不是VM中。使用此驱动程序   需要Docker和Linux环境,但不需要管理程序。它是   建议在以下情况下使用Docker的apt的apt安装:   使用none驱动程序。 docker的快照安装不起作用   带有minikube。

@Sunil Gajula,添加以下标志:

--vm-driver=none

在运行您的 Minikube 实例时,实际上可以解决您的问题,因为默认情况下未将其设置为none,并且在您尝试运行 Minikube 时似乎缺少该元素

答案 1 :(得分:0)

  

是否可以运行minikube以使用主机docker守护程序?

不。 Minikube在VM中运行,无法连接到主机的/var/run/docker.sock文件。 (您显示的设置需要非默认的主机Docker配置,这具有将主机完全植根的巨大风险,并且从VM的角度来看,localhost是VM。)

不过,您可以做相反的事情,将本地Docker守护程序设置为与minikube的Docker守护程序通信

eval $(minikube docker-env)

(还请记住,Kubernetes是为基于不可变映像的多主机部署而设计的。如果您试图在Kubernetes容器内进行实时开发,则它相当复杂并且无法很好地转换到生产环境。请使用普通Docker,或者更好的是,直接在主机上安装开发环境。如果您只是想测试Docker桌面中包含的部署布线,minikube或Kubernetes,或者其他类似工具都可以。)