【发布时间】:2017-06-30 20:40:45
【问题描述】:
我有一个 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 放在上面,所以:我做了和上面一样的步骤,我还安装了 Zookeeper 的依赖项“jboss/base-jdk:7”,问题是:
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 找到了,但它不是命令正在寻找的,所以它没有使用它...
所以,如果你知道如何解决这个问题! :)
【问题讨论】:
-
您的意思是
docker push而不是oc push?没有oc push命令。 -
是的,抱歉,已编辑
标签: docker openshift apache-zookeeper