Skaffold 运行失败,因为 skaffold 无法拉取镜像

问题描述 投票:0回答:1

我在 Linux (Arch linux) 中运行 skaffold 和 minikube。不以无根模式运行 docker。

我能够部署到 minikube 并且它正在工作。但是,如果我运行

skaffold run
,我会收到以下错误:

Generating tags...
 - skaffold-example -> skaffold-example:v2.11.1-1-gba74c3306
Checking cache...
ERRO[0000] retrying dial tcp: lookup index.docker.io on [::1]:53: read udp [::1]:45407->[::1]:53: read: connection refused 
ERRO[0000] retrying dial tcp: lookup index.docker.io on [::1]:53: read udp [::1]:34557->[::1]:53: read: connection refused 
ERRO[0000] retrying dial tcp: lookup index.docker.io on [::1]:53: read udp [::1]:42559->[::1]:53: read: connection refused 
 - skaffold-example: Error checking cache.
getting hash for artifact "skaffold-example": getting dependencies for "skaffold-example": parsing ONBUILD instructions: retrieving image "golang:1.18": Get "https://index.docker.io/v2/": dial tcp: lookup index.docker.io on [::1]:53: read udp [::1]:42559->[::1]:53: read: connection refused

有什么帮助吗?谢谢

minikube 中的

/etc/resolv.conf 文件包含

nameserver 192.168.49.1
。尝试用
nameserver 8.8.8.8
重写它,这没有什么区别,并且当我重新启动 minikube 时,更改都会被覆盖。也尝试删除和创建 minikube 集群。

minikube skaffold
1个回答
0
投票

您遇到的错误表明 DNS 解析存在问题,特别是在尝试访问 index.docker.io 时。这可能是由于多种不同的原因造成的,例如 DNS 服务器配置错误或网络问题。

您可以尝试以下一些步骤来解决该问题:

检查您的 DNS 设置:确保您的 DNS 设置正确并且可以从主机解析 index.docker.io。您可以通过从终端运行 nslookup index.docker.io 或 dig index.docker.io 来测试这一点。

查看 Minikube 的 DNS 配置:尽管您已尝试将名称服务器设置为 8.8.8.8,但 Minikube 可能会覆盖这些设置。您可能需要查看 Minikube 的文档或社区论坛,以获取有关持久 DNS 配置的指导。

检查 Skaffold 配置:确保您的 Skaffold 配置正确,并且没有尝试使用代理或其他可能干扰 DNS 解析的网络设置。

重新启动 Minikube:有时,只需重新启动 Minikube 就可以解决暂时性网络问题。您可以通过 minikube stop 和 minikube start 来完成此操作。

检查本地防火墙或网络策略:如果您有本地防火墙或网络策略,它们可能会阻止连接。确保允许端口 53 (DNS) 上到 index.docker.io 的传出连接。

使用 Minikube 的 Docker 守护进程:如果您还没有这样做,您可以通过在终端中运行 eval $(minikube docker-env) 来尝试使用 Minikube 的 Docker 守护进程。这会将您的 shell 配置为使用 Minikube 内的 Docker 守护进程,如果与主机的 Docker 配置相关,这可能会绕过该问题。

检查 Skaffold 和 Minikube 版本:确保您使用的是 Skaffold 和 Minikube 的兼容版本。有时,版本不匹配可能会导致意外行为。

如果这些步骤都不起作用,您可能需要在 Skaffold GitHub 问题页面1 中搜索类似问题,或在 Skaffold 社区频道中寻求帮助。使用 -vdebug 标志运行 Skaffold 来获取更详细的日志也很有帮助,这可能会为问题提供更多线索。请记住在公开共享日志之前替换任何敏感信息。

© www.soinside.com 2019 - 2024. All rights reserved.