2017-01-16 43 views
1

无法从Minikube内部的本地码头不安全注册表存储库中拖出图像。

我正在使用Linux VM(新贵)在Windows下安装在Oracle的VirtualBox 5.1.6 7.
将本地码头不安全的Docker注册表中的图像拖放到Kubernetes

我创建了一个码头工人形象,推(标签,然后推多克尔工具箱v1.12.2 )将其转换为192.168.99.100:5000/image/name上运行的本地不安全的docker-registry v2。
docker run -d -p 5000:5000 --restart=always --name registry registry:2
和内部的虚拟机,在/ var/lib/boot2docker/profile我已经添加到EXTRA_ARGS的国旗
--insecure-registry 192.168.99.100:5000

docker push & docker pull from localhost:5000/image/name在Docker(VM)中正常工作。

_catalog可以从邮递员:GET http:192.168.99.100:5000/v2/_catalog到达,我能够获得注册表中的图像。

我开始我的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 从我的本地码头工人注册表到Kubernetes拉形象的说法

deployment "image-name" created

但是这里面Kubernetes>部署,我发现了以下错误:

Failed to pull image "192.168.99.109:5000/image/name": image pull failed for 192.168.99.100:5000/image/name:latest, this may be because there are no credentials on this request. details: (Error response from daemon: Get https://192.168.99.100:5000/v1/_ping : Tunnel or SSL Forbidden)

任何人都可以在这里帮助与隧道或SSL Forbidden错误,它的驾驶我疯了,我已经尝试过这么多的解决方案来配置 - docker内部,在Kubernetes内部或在运行dokcer-registry时进行注册。

顺便说一句,为什么它指的是v1/_ping?我正在使用docker注册表v2。

回答

1

看起来像minikube看不到您的注册表运行相同的网络。你可以尝试运行minikube ssh然后运行你的卷曲的目录?

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

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

+0

我无法卷曲到minikube内部的目录。注册表和minikube运行在virtualbox内的分离VM上,也许我需要在那里配置somthing? –

+0

Yup听起来像是你的问题。您应该可以将两台虚拟机连接到同一个网络。 –