在离线 openshift 上安装 Zookeeper

Installing Zookeeper on offline openshift

我有一个 Openshift Origin 集群 运行 在 3 Centos 7 虚拟机上离线。它工作正常,我有一个注册表,我可以像这样推送我的图像:

docker login -u <username> -e <any_email_address> -p <token_value> <registry_ip>:<port>

登录成功,则:

oc tag <image-id> <docker-registry-IP>:<port>/<project-name>/<image>

因此,以 nginx 为例:

oc tag 49011ce3b713 172.30.222.111:5000/test/nginx

然后我将它推送到内部注册表:

docker push 172.30.222.111:5000/test/nginx

最后:

oc new-app nginx --name="nginx"

使用 nginx,一切正常,现在我的问题是:

我实际上是想在上面安装 Zookeeper,所以:我执行与上面相同的步骤,我还安装了 "jboss/base-jdk:7",它是 Zookeeper 的依赖项,问题是:

docker push 172.30.222.111:5000/test/jboss/base-jdk:7

捐赠:

[root@master 994089]# docker push 172.30.222.111:5000/test/jboss/base-jdk:7
The push refers to a repository [172.30.222.111:5000/test/jboss/base-jdk]
c4c6a9114a05: Layer already exists
3bf2c105669b: Layer already exists
85c6e373d858: Layer already exists
dc1e2dcdc7b6: Layer already exists
Received unexpected HTTP status: 500 Internal Server Error

问题好像是这里的“/”jboss**/**base-jdk:7

我也试过这样推:

docker push 172.30.222.111:5000/test/base-jdk:7

这是有效的,但 Zookeeper 正在寻找 "jboss/base-jdk:7",而不仅仅是 "base-jdk:7"

最后,我在尝试此命令时被阻止在这里:oc new-app zookeeper --name="zookeeper" --loglevel=8 --insecure-registry --allow-missing-images

I0628 14:31:54.009713   53407 dockerimagelookup.go:92] checking local Docker daemon for "jboss/base-jdk:7"
I0628 14:31:54.030546   53407 dockerimagelookup.go:380] partial match on "172.30.222.111:5000/test/base-jdk:7" with 0.375000
I0628 14:31:54.030571   53407 dockerimagelookup.go:346] exact match on "jboss/base-jdk:7"
I0628 14:31:54.030578   53407 dockerimagelookup.go:107] Found local docker image match "172.30.222.111:5000/test/base-jdk:7" with score 0.375000
I0628 14:31:54.030589   53407 dockerimagelookup.go:107] Found local docker image match "jboss/base-jdk:7" with score 0.000000
I0628 14:31:54.032799   53407 componentresolvers.go:59] Error from resolver: [can't look up Docker image "jboss/base-jdk:7": Internal error occurred: Get http://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on 10.253.158.90:53: no such host]
I0628 14:31:54.032831   53407 dockerimagelookup.go:169] Added missing image match for jboss/base-jdk:7
F0628 14:31:54.032882   53407 helpers.go:110] error: can't look up Docker image "jboss/base-jdk:7": Internal error occurred: Get http://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on 10.253.158.90:53: no such host

我们可以看到找到了 172.30.222.111:5000/test/base-jdk:7,但它并不是命令要查找的内容,因此它没有使用它...

所以,如果您知道如何解决这个问题! :)

通过升级到 Openshift 1.5.1 解决,以前是 1.3.1。