Docker注册表提取错误



我有一个当前正在运行的docker注册表。我有两个不同的虚拟机主机docker。一个是我自己创建并手动安装的docker。另一个是由BOSH制作的。现在,两个虚拟机都能够将映像推送到我在<IP>:<PORT>的私有注册表。手动创建的VM能够提取注册表中存在的任何映像。相比之下,BOSH VM只能提取它上推的图像。

当拉出它推送的图像时,我们得到如下输出

<IP>:<PORT>/test/scratch:1: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provide security.

然而,当拉任何其他图像(我知道存在并且可以拉)时,我得到如下输出:

docker pull <IP>:<PORT>/<IMAGE_PREFIX>/centos:6
6: Pulling from <IP>:<PORT>/<IMAGE_PREFIX>/centos
f1b10cd84249: Pulling fs layer
b9aeeaeb5e17: Pulling fs layer
f577f0104d9f: Pulling fs layer
25026cb4e110: Pulling fs layer
7935ccc5687c: Pulling fs layer
b65d7f315ddb: Pulling fs layer
0995c5f045e3: Pulling fs layer
8383060ffe2b: Pulling fs layer
4e532e3dd806: Pulling fs layer
13012e69774f: Pulling fs layer
c0720f93f003: Pulling fs layer
1af9b43df076: Pulling fs layer
961ad276c59a: Download complete
Pulling repository <IP>:<PORT>/<IMAGE_PREFIX>/centos
FATA[0000] Error: image <IMAGE_PREFIX>/centos:6 not found

BOSH VM"找不到"图像是没有意义的,因为它清楚地看到了用于创建我想要的图像的图层。但我不知道这是否是一些奇怪的验证错误。

BOSH虚拟机中ps -ef | grep docker的输出如下:

docker --daemon --api-enable-cors=false --debug=false --group vcap --graph 
/var/vcap/store/docker/docker --host unix:///var/run/docker.sock 
--insecure-registry <IP>:<PORT> --bip 192.168.227.1/24 --icc=true --ip-forward=true 
--iptables=true --iptables=true --pidfile /var/vcap/sys/run/docker/docker.pid 
--selinux-enabled=false --host tcp://127.0.0.1:4243

我手工创建的虚拟机的输出显示:

/usr/bin/docker -d --bip 192.168.227.1/24 --insecure-registry <IP>:<PORT>

这是我的错误。注册表包含使用docker 1.7.0构建的映像,但是我的BOSH虚拟机安装了docker 1.5.0。因此,BOSH VM不能识别注册表包含的映像格式(我相信),因此报告了我想要的映像的未找到错误。升级docker二进制文件和规范文件,然后重新部署新版本修复了这个错误。

最新更新