Minikube 和 Docker - 冲突?
Minikube and Docker - conflict?
为了一些开发,我已经使用 Docker
一段时间了。现在,我正在尝试使用 Kubernetes
.
学习一些更高级的东西
在某些课程中,我找到了我应该 运行
的信息
eval $(minikube docker-env)
这将注册一些环境变量:DOCKER_TLS_VERIFY
、DOCKER_HOST
、DOCKER_CERT_PATH
和 DOCKER_API_VERSION
。它会做什么?这不会破坏我在主机上使用默认值的日常工作吗?
此外,是否可以为我的本地 Docker 切换 context/config,某种程度上类似于 kubectl config use-context
?
上述命令只会操纵当前的shell。打开一个新的将允许您继续使用正常的工作流程,因为 docker CLI 将默认连接到位于 /var/run/docker.sock
.
的守护程序套接字。
我不知道有什么工具可以让您使用单个命令并根据 kubectl
允许的上下文名称来切换这些设置。但是你可以写一个别名。例如,对于 bash 你可以只执行:
$ echo 'alias docker-context-a="eval $(minikube docker-env)"' >> ~/.bashrc
该命令指向 Docker 的环境变量以使用托管在 Minikube VM 中的 Docker 守护进程,而不是在您的主机或 Docker 桌面管理的虚拟机。这意味着您将无法看到或 运行 切换之前拥有的任何图像或 Docker 本地卷(这是一个单独的 VM)。与您可以 $(minikube docker-env)
“切换到”Minkube VM 的 Docker 相同,您可以 $(minikube docker-env -u)
“切换回来”。
大多数情况下,只有在非 Linux 主机上并通过 VM 获取 Docker 时,实际上才有意义;这让您可以共享一个 Minikube/Docker 虚拟机,而不必启动两个单独的虚拟机,一个用于 Docker,一个不用于。
如果你打算使用 Minikube,你应该像使用真实的远程 Kubernetes 集群一样使用它:设置一个 Docker 注册表,docker build && docker push
图像,并在您的部署规范中引用它。在 Kubernetes 中获得实时代码重新加载之类的卷积是棘手的,不适用于任何其他 Kubernetes 设置,并且不是您在生产中 运行。
为了一些开发,我已经使用 Docker
一段时间了。现在,我正在尝试使用 Kubernetes
.
在某些课程中,我找到了我应该 运行
的信息eval $(minikube docker-env)
这将注册一些环境变量:DOCKER_TLS_VERIFY
、DOCKER_HOST
、DOCKER_CERT_PATH
和 DOCKER_API_VERSION
。它会做什么?这不会破坏我在主机上使用默认值的日常工作吗?
此外,是否可以为我的本地 Docker 切换 context/config,某种程度上类似于 kubectl config use-context
?
上述命令只会操纵当前的shell。打开一个新的将允许您继续使用正常的工作流程,因为 docker CLI 将默认连接到位于 /var/run/docker.sock
.
我不知道有什么工具可以让您使用单个命令并根据 kubectl
允许的上下文名称来切换这些设置。但是你可以写一个别名。例如,对于 bash 你可以只执行:
$ echo 'alias docker-context-a="eval $(minikube docker-env)"' >> ~/.bashrc
该命令指向 Docker 的环境变量以使用托管在 Minikube VM 中的 Docker 守护进程,而不是在您的主机或 Docker 桌面管理的虚拟机。这意味着您将无法看到或 运行 切换之前拥有的任何图像或 Docker 本地卷(这是一个单独的 VM)。与您可以 $(minikube docker-env)
“切换到”Minkube VM 的 Docker 相同,您可以 $(minikube docker-env -u)
“切换回来”。
大多数情况下,只有在非 Linux 主机上并通过 VM 获取 Docker 时,实际上才有意义;这让您可以共享一个 Minikube/Docker 虚拟机,而不必启动两个单独的虚拟机,一个用于 Docker,一个不用于。
如果你打算使用 Minikube,你应该像使用真实的远程 Kubernetes 集群一样使用它:设置一个 Docker 注册表,docker build && docker push
图像,并在您的部署规范中引用它。在 Kubernetes 中获得实时代码重新加载之类的卷积是棘手的,不适用于任何其他 Kubernetes 设置,并且不是您在生产中 运行。