在运行skaffold 之后,我遇到了这个错误。
Step 1/6 : FROM node:current-alpine3.11
exiting dev mode because first build failed: unable to stream build output: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on 192.168.49.1:53: read udp 192.168.49.2:35889->192.168.49.1:53: i/o timeout. Please fix the Dockerfile and try again..这是skaffold.yml
apiVersion: skaffold/v2beta11
kind: Config
metadata:
name: *****
build:
artifacts:
- image: 127.0.0.1:32000/auth
context: auth
docker:
dockerfile: Dockerfile
deploy:
kubectl:
manifests:
- infra/k8s/auth-depl.yaml
local:
push: false
artifacts:
- image: 127.0.0.1:32000/auth
context: auth
docker:
dockerfile: Dockerfile
sync:
manual:
- src: "src/**/*.ts"
dest: .我已经尝试了我在网上看到的所有可能的解决方案,包括添加8.8.8.8作为DNS,但错误仍然存在。我使用Linux并运行ubuntu,我也在本地使用Minikube。请协助。
发布于 2021-01-16 18:56:17
这是一个社区Wiki的答案,张贴为更好的能见度,所以请随时编辑它,并添加任何其他您认为重要的细节。
在这种情况下:
minikube delete && minikube start解决了这个问题,但是您可以从重新启动停靠守护进程开始。由于这是Minikube集群和Skaffold用于其构建的Minikube的Docker守护进程( 布赖恩·德阿尔维斯在其评论中建议),您可以从:
minikube stop && minikube start或
minikube ssh
su
systemctl restart docker我搜索了类似的错误,在许多情况下,例如这里或在这个线程中,将DNS设置为类似8.8.8.8这样的可靠内容也可能有帮助:
sudo echo "nameserver 8.8.8.8" >> /etc/resolv.conf如果您使用Minikube,您首先应该:
minikube ssh
su ### to become root然后跑:
echo "nameserver 8.8.8.8" >> /etc/resolv.conf以下错误消息:
Please fix the Dockerfile and try again在类似的情况下,可能有些误导,因为Dockerfile可能完全正确,但正如我们在其他部分所读到的:
lookup registry-1.docker.io on 192.168.49.1:53: read udp 192.168.49.2:35889->192.168.49.1:53: i/o timeout.这肯定与DNS查找失败有关。这是众所周知的这里问题。
使i/o超时 获取https://index.docker.io/v1/repositories//images:拨号tcp:查找:53:读取udp :53: i/o超时 描述 主机上配置的DNS解析器无法解析注册表的主机名。 GitHub链路 不适用 解决办法 重试操作,或者如果错误持续存在,则使用另一个DNS解析器。可以通过以下或其他DNS服务器更新
/etc/resolv.conf文件来做到这一点:nameserver 8.8.8.8 nameserver 8.8.4.4
https://stackoverflow.com/questions/65552399
复制相似问题