从本地docker不安全的Dockerregistry中提取图像到Kubernetes

无法从Minikube内部的本地docker insecuredregistry库中提取图像。

我在Windows 7下使用安装在Oracle VirtualBox 5.1.6上的Linux VM(Upstart)运行Docker-toolbox v1.12.2。

我创build了一个docker镜像,并将其push(tag,然后推送)到192.168.99.100:5000/image/name上运行的本地不安全的docker-registry v2中。
docker run -d -p 5000:5000 --restart=always --name registry registry:2
和VM内,在/ var / lib / boot2docker /configuration文件我已经添加到EXTRA_ARGS该标志
--insecure-registry 192.168.99.100:5000

docker pushdocker pulllocalhost:5000/image/name在Docker(VM)中工作正常。

_catalog可以从邮递员: GET http:192.168.99.100:5000/v2/_catalog和我能够得到registry中的图像。

我正在用命令启动我的Minikube v0.15.0 VM:

minikube start --insecure-registry=192.168.99.100:5000

我在公司PROXY下,所以我已经在命令行(CMD)中添加了代理:
set HTTP/HTTPS_PROXY=my.company.proxy:8080set NO_PROXY={minikube ip}
然后Kubernetes仪表板开始为我工作。

现在对于真正的问题,运行命令时:
kubectl run image-name --image=192.168.99.100:5000/image/name --port=9999将我的本地dockerregistry中的图像拖入Kubernetes中

部署“image-name”创build

但在Kubernetes内部>部署我收到以下错误:

无法拉图像“192.168.99.109:5000/image/name”:图像拉192.168.99.100:5000/image/name:latest失败,这可能是因为这个请求没有凭据。 详细信息:(来自守护进程的错误响应:获取https://192.168.99.100:5000/v1/_ping :隧道或SSL禁止)

任何人都可以帮助这里的隧道或SSL Forbidden错误 ,这是让我疯狂,我已经尝试了这么多的解决schemeconfiguration – docker内,docker内部Kubernetes或运行dokcerregistry。

顺便说一句,为什么它是指v1 / _ping? 我正在使用dockerregistryv2。

看起来像minikube无法看到您的registry正在运行相同的networking。 你可以尝试运行minikube ssh然后运行你的curl的目录?

此外,作为替代scheme,您可以运行eval(minikube docker-env) ,然后设置您的本地docker客户端使用minikube内的docker服务器。

因此,例如,如果您构build了一个标有myimage/foo的图像,它将构build并将该图像放置在minikube docker主机上,因此当您部署图像时,不需要拉拽图像。