问题描述
亲爱的 StackOverflow 社区!
我正在尝试在 minikube 上本地运行 https://github.com/GoogleCloudPlatform/microservices-demo,所以我遵循他们的开发指南:https://github.com/GoogleCloudPlatform/microservices-demo/blob/master/docs/development-guide.md
在我成功设置minikube(使用virtualBox驱动,但我也尝试过hyperkit,但结果是一样的)并执行skaffold run
后,一段时间后会出现以下错误:
Building [shippingservice]...
Sending build context to Docker daemon 127kB
Step 1/14 : FROM golang:1.15-alpine as builder
---> 6466dd056dc2
Step 2/14 : RUN apk add --no-cache ca-certificates git
---> Running in 0e6d2ab2a615
fetch https://dl-cdn.alpinelinux.org/alpine/v3.13/main/x86_64/APKINDEX.tar.gz
WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.13/main: DNS lookup error
fetch https://dl-cdn.alpinelinux.org/alpine/v3.13/community/x86_64/APKINDEX.tar.gz
WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.13/community: DNS lookup error
ERROR: unable to select packages:
git (no such package):
required by: world[git]
Building [recommendationservice]...
Building [cartservice]...
Building [emailservice]...
Building [productcatalogservice]...
Building [loadgenerator]...
Building [checkoutservice]...
Building [currencyservice]...
Building [frontend]...
Building [adservice]...
unable to stream build output: The command '/bin/sh -c apk add --no-cache ca-certificates git' returned a non-zero code: 1. Please fix the Dockerfile and try again..
错误消息表明 DNS 不起作用。我尝试在 minikube VM 上将 8.8.8.8
添加到 /etc/resolv.conf
,但没有帮助。我注意到在我重新运行 skaffold run
并再次失败后,内容 /etc/resolv.conf
返回到其原始状态,其中包含 10.0.2.3
作为唯一的 DNS 条目。访问外部互联网并在 minikube VM 中 ping 8.8.8.8
表单有效。
您能否指出我如何解决问题并了解 minikube/kubernetes 中的 DNS 是如何工作的方向?我听说 Kubernetes 集群内的 DNS 问题是您经常遇到的问题。
感谢您的回答!
最好的问候, 理查德
解决方法
使用 docker 驱动程序尝试过,即 minikube start --driver=docker
,它可以工作。谢谢布赖恩!