将图像从本地docker不安全的Docker注册表拖到Kubernetes

时间:2017-01-16 06:58:19

标签: docker kubernetes docker-registry docker-toolbox minikube

无法从Minikube内部本地docker不安全的注册表存储库中提取图像。

我使用安装在Windows 7下的Oracle VirtualBox 5.1.6上的Linux VM(Upstart)运行Docker-toolbox 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
在VM中,在/ var / lib / boot2docker / profile上我已将标志添加到EXTRA_ARGS中--insecure-registry 192.168.99.100:5000

docker push&来自docker pull的{​​{1}}在Docker(VM)中工作正常。

可以从邮递员localhost:5000/image/name访问_catalog,我可以在注册表中获取图像。

我使用以下命令启动我的Minikube v0.15.0 VM:

GET http:192.168.99.100:5000/v2/_catalog

我在公司PROXY 下,所以我在命令行(CMD)中添加了代理:
minikube start --insecure-registry=192.168.99.100:5000set HTTP/HTTPS_PROXY=my.company.proxy:8080
然后Kubernetes仪表板开始为我工作。

现在针对真正的问题,在运行命令时:
set NO_PROXY={minikube ip} 从我当地的码头工作室注册表中将图像拉入Kubernetes的说法

  

部署"图像名称"创建

但在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禁止错误,这让我发疯了,我已经尝试了很多解决方案来配置 - 在docker中使用内部注册,在Kubernetes内部或运行dokcer-registry。

BTW为什么要引用v1 / _ping?我正在使用docker registry v2。

1 个答案:

答案 0 :(得分:1)

似乎minikube看不到您的注册表正在运行的网络。您可以尝试运行minikube ssh然后运行目录卷曲吗?

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

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

相关问题