重现问题所需的命令:
失败的命令的完整输出:
minikube start --registry-mirror=https://registry.docker-cn.com --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers --vm-driver=docker --alsologtostderr -v=8
minikube logs命令的输出:
W0406 10:08:19.436876 13086 exit.go:101] Failed to start docker container. “minikube start” may fix it.: recreate: creating host: create: creating: create kic node: create container: failed args: [run -d -t --privileged --security-opt seccomp=unconfined --tmpfs /tmp --tmpfs /run -v /lib/modules:/lib/modules:ro --hostname minikube --name minikube --label created_by.minikube.sigs.k8s.io=true --label name.minikube.sigs.k8s.io=minikube --label role.minikube.sigs.k8s.io= --label mode.minikube.sigs.k8s.io=minikube --volume minikube:/var --cpus=2 --memory=2200mb --expose 8443 --publish=127.0.0.1::8443 --publish=127.0.0.1::22 --publish=127.0.0.1::2376 gcr.io/k8s-minikube/kicbase:v0.0.8@sha256:2f3380ebf1bb0c75b0b47160fd4e61b7b8fef0f1f32f9def108d3eada50a7a81] output: Unable to find image ‘gcr.io/k8s-minikube/kicbase:v0.0.8@sha256:2f3380ebf1bb0c75b0b47160fd4e61b7b8fef0f1f32f9def108d3eada50a7a81’ locally
docker: Error response from daemon: Get https://gcr.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
See ‘docker run --help’.
: exit status 125
使用的操作系统版本:
ubuntu 18.04
终于算是搞定这个问题了,成功启动minikube的docker驱动的集群,如图:
这个问题预计kicbase没同步到国内镜像源前,大陆用户都会遇到。下面说一下我的思路和方案:
方案1:根据源码重新编译minikube(连带kicbase),如sharifelgamal所述的方案。【根据源码编译带来更多不确定的问题,且minikube刚接触的都是入门用户,此方案不可靠,不推荐】
方案2:让minikube所在的机器走全局代理翻墙,假装身在国外,直接从gcr.io中pull kicbase镜像。【可行,但是kicbase镜像接近1G,翻墙下载估计会比较慢。】
方案3:想各种办法将kicbase镜像搞到本机(通过墙外机器pull下来然后save&load到本机、在国内的某些源中找到kicbase后pull到本地等),然后按照listenerri所提供的帖子中的方案,将镜像重新tag,然后恢复Digest,让minikube能识别,最后搞定。
这里我采用的是方案3,镜像是从阿里云的镜像仓库找到的(感谢上传镜像的同学!),如图:
其中1个的镜像地址:registry.cn-hangzhou.aliyuncs.com/smartliby/kicbase:v0.0.8
试试这个,我正常启动了 minikube start --registry-mirror=https://registry.docker-cn.com --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers --vm-driver=docker --alsologtostderr -v=8 --base-image registry.cn-hangzhou.aliyuncs.com/google_containers/kicbase:v0.0.10
可能跟我的问题一样,我的解决方案是: https://listenerri.com/2020/04/07/minikube-启动失败/
This is still an issue.
官方已推镜像,大家可以试试~~~ https://github.com/AliyunContainerService/minikube/issues/17
你提供的解决方案很有价值。 但是我遇到的情况和你不大一样,我这里是确实连不上外网,本地docker images看不到kicbase镜像;
同时推断,当driver=docker 时,岂不是所有墙内的用户都无法完成minikube start了?