docker - 具有远程 docker 上下文的 Skaffold 开发
问题描述
我正在开发一个基于 Kubernetes 的所有基础设施的 Web 应用程序。在我的本地环境中,我使用的是 Skaffold。我有两台电脑(台式机和笔记本电脑),每台都有 8Gb 的 RAM。通过启动 minikube(virtualbox 驱动程序),skaffold dev
Desktop 冻结。
所以我决定使用笔记本电脑进行编码,使用台式机运行 minikube 和所有相关的东西。
我成功地在笔记本电脑上设置了kubeconfig,以便与 minikube 服务器建立上下文关系。
实际上,问题是脚手架。当我运行时skaffold dev
,它会失败,因为 Desktop 的 minikube 在我的笔记本电脑上看不到 skaffold 构建的图像。kubectl get po
返回ImagePullBackOff。那是因为 skaffold 使用本地 docker 来构建镜像。问题是如何让 skaffold 在我的桌面上使用 docker install?我更改了笔记本电脑的 docker 上下文,使其链接到桌面上下文,但它仍然无法正常工作,skaffold 仍在使用我笔记本电脑中安装的默认 docker 上下文。
如何使 Skaffold 构建的图像在我的桌面上可用?Skaffold 是否可以使用远程 docker 上下文?如果是,如何?
解决方案
Minikube 使用自己的 Docker 安装来为其集群供电。该守护进程在 Minikube 的 VM(或容器,如果使用docker
驱动程序)中运行,并且完全独立于主机的 Docker 守护进程(您的桌面)。您可以通过设置返回的环境来访问 Minikube 的守护进程minikube docker-env
。
推荐阅读
- c++ - 如何避免在 std::modf 中使用临时变量?
- flutter - Dart 语言中的问号 (?) 和点 (.) 是什么?
- python - 姜戈。我的图像上不断出现 404,不知道我是否设置了正确的路径
- python - 使用 selenium 抓取 SPA 网页,获取错误数据
- r - 为什么子集选择语句中的粘贴函数会导致一元运算符错误的无效参数?
- java - 使用 java 进行事务文件复制
- pandas - 通过函数更新列的非空值
- c# - 如何从 C# 写入 cygwin 管道
- java - 将 `BufferedInputStream` 类型的 `System.in` 包装到 `BufferedReader` 中是否有帮助?
- opengl - 如何将 gltestsrc 和 vp8enc 与 Gstreamer 连接?