【发布时间】:2017-06-21 14:52:27
【问题描述】:
我在尝试使用 Kubernetes(一个容器管理平台)从本地注册表中提取 docker 映像时遇到问题。
目前的情况是我的 docker 虚拟机中存储了 docker 映像,该虚拟机在地址:192.168.99.103 上运行。我正在 Windows 机器上运行 docker。
我有一个在本地创建的名为“tomcat-test:dockerfile”的图像。
接下来我使用以下命令创建并运行本地注册表:
docker run -d -p 5000:5000 --restart always --name registry registry:2
此时,我像这样标记图像:
docker tag tomcat-test:dockerfile localhost:5000/tomcat-test:latest
最后,我使用以下命令推送到本地注册表:
docker push localhost:5000/tomcat-test:latest
这已成功推送到注册表。
现在我想使用 Kubernetes 从我的本地 docker 注册表中提取数据。为此,我必须提供图像在 docker 注册表中所在位置的 URL:
我假设网址是:
192.168.99.103:5000/tomcat-test:latest
但是,我收到以下错误:
Failed to pull image "192.168.99.103:5000/tomcat-test": rpc error: code = 2 desc = Error response from daemon: Get https://192.168.99.103:5000/v1/_ping: tls: oversized record received with length 20527
我怀疑这是来自 Docker 的错误消息。
现在上网查了一下,有建议新建一台docker机器,在里面指定一个不安全的registry的IP。因此我使用了以下命令:
docker-machine create -d virtualbox --engine-insecure-registry localhost:5000 dev2
但是按照上述步骤操作后,这仍然不起作用,我遇到了同样的错误。
有人遇到过这个问题的解决方案吗?还有什么我应该做的不同来防止这个问题出现吗?
任何帮助将不胜感激。
谢谢。
【问题讨论】:
标签: docker kubernetes boot2docker docker-machine