我已经使用以下命令启动了minikube
minikube start --insecure-registry k8s.gcr.io --insecure-registry registry-1.docker.io --insecure-registry gcr.io --insecure-registry registry.gitlab.com
启动后,我使用minikube status
检查状态,输出如下:
host: Running
kubelet: Running
apiserver: Running
kubectl: Correctly Configured: pointing to minikube-vm at 192.168.99.107
然后我运行命令eval $(minikube docker-env)
,以便它可以使用minikube正在使用的docker守护程序。
该命令按预期运行。当我检查DOCKER_HOST
时,得到以下值tcp://192.168.99.107:2376
问题在我运行docker命令时开始。
例如,当我运行docker run hello-world
时,该命令将挂起一段时间,然后得到以下输出
docker: error during connect: Post https://192.168.99.107:2376/v1.39/containers/create: Service Unavailable.
您可能会注意到的一件事是DOCKER_HOST
使用TCP,docker run将使用HTTPS。我不知道,但是也许可以帮助解决此问题。
答案 0 :(得分:0)
HTTPS 可以在任何可靠的流传输协议上运行。通常是 TCP 。
1。。检查图像是否已构建。
要在Kubernetes中运行Docker映像,您只需使用
$ kubectl run hello-world --image=... --port=... --image-pull-policy=...
但是您也必须设置Docker守护程序。您可以在这里找到更多信息:docker-daemon
2。。如果尚未使用 2376 端口,请检查它。
3。。尝试以root用户身份运行命令: 作为sudo docker ...而不是docker ...运行它。 您所运行的用户可能没有权限与该系统上的/var/run/docker.sock对话。
4。。您使用哪个版本的minikube?在minikube v0.10.0 中,如果机器已经存在,则--insecure-registry标志将被忽略。)首先检查--insecure-registry =是否已正确复制到新VM的/ var / lib / boot2docker / profile中。如果要遵守新标记,必须首先删除minikube。
希望对您有帮助。