【问题标题】:K8s MiniKube not able to read image from docker giving I/O ErrorK8s MiniKube 无法从 docker 读取图像并给出 I/O 错误
【发布时间】:2020-12-18 04:27:38
【问题描述】:

您好,我是 minikube/k8s 的新手,正在尝试在 pod 中设置第一份工作。 我在 Windows 上运行并在拉取图像时不断出错。

我的 docker 已经有我在 job.yaml 中使用过的图像,但是 minikube 失败了

事件: 类型原因年龄来自消息 ---- ------ ---- ---- -------- 正常计划 28 秒 default-scheduler 已成功将 default/say-something-blbwp 分配给 minikube 正常拉取 27s kubelet、minikube 拉取镜像“java” 警告 Failed 17s kubelet, minikube Failed to pull image "java": rpc error: code = Unknown desc = Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp:lookup registry-1 192.168.67.65:53 上的 .docker.io:读取 udp 192.168.67.70:58499->192.168.67.65:53:i/o 超时 警告 Failed 17s kubelet, minikube Error: ErrImagePull Normal BackOff 17s kubelet, minikube Back-off pull image "java" 警告 Failed 17s kubelet, minikube Error: ImagePullBackOff

这是我的 job.yaml 文件

api版本:批处理/v1 种类:工作 元数据: 名称:说点什么 规格: 模板: 元数据: 名称:说点什么 规格: 容器: - 名称:说点什么 图片:java imagePullPolicy: IfNotPresent 命令:[System.out.println("ZXZAA:")] 重启策略:OnFailure

泊坞窗图片

存储库标签图像 ID 创建大小 hello-world 最新 bf756fb1ae65 7 个月前 13.3kB java 最新 d23bdf5b1b1b 3 年前 643MB

有人可以指导我缺少什么吗?我需要在注册表部分进行任何特定设置吗?

【问题讨论】:

  • 感谢您的回复! docker hello-world 对我来说很好用!将尝试其他步骤
  • 我已经尝试过更改主机文件并放入当前 Ip 但仍然得到相同的错误 kubelet, minikube 无法提取图像“java”:rpc 错误:代码 = 未知 desc = 来自守护进程的错误响应:获取registry-1.docker.io/v2:拨号 tcp:在 192.168.67.65:53 上查找 registry-1.docker.io:读取 udp 192.168.67.70:45381->192.168.67.65:53:i/o 超时 IP 配置:34.228.211.243 registry-1 .docker.io/v2/ # 由 Docker 桌面添加 192.168.67.65 host.docker.internal 192.168.67.65 gateway.docker.internal
  • 还有其他解决方法吗?
  • 实际上是否有一个名为 java 的 Docker Hub 映像? hub.docker.com/_/java 重定向到 openjdk 图像的页面。 (您不能在作业规范的“命令”部分编写 Java 代码,您可能需要为此构建自定义映像。)

标签: docker kubernetes minikube


【解决方案1】:

用于解决 kubelet、minikube 错误:ImagePullBackOff 我更改了 docker 设置,创建了 docker ID

重新启动 docker 桌面并使用资源 -> 网络 -> DNS 服务器 -> 手动 DNS 配置为 8.8.8.8 并从主机文件中删除过时的 Ips,如 https://github.com/docker/for-win/issues/4884# 中所述 之后它工作正常并且能够拉图像

@David Maze 是对的,我们需要为 java 安装 openjdk,我们需要将我们的应用程序部署为镜像。

@Wiktor 如果您想通过 K8s 设置 java 应用程序,您可以参考 https://www.oreilly.com/content/how-to-manage-docker-containers-in-kubernetes-with-java/

【讨论】:

    猜你喜欢
    • 2019-11-24
    • 2023-04-03
    • 2015-09-15
    • 2017-05-26
    • 1970-01-01
    • 1970-01-01
    • 2012-04-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多