如何在openshift原点中运行docker镜像而不通过Web控制台构建它

时间:2016-11-01 14:49:29

标签: git docker openshift openshift-origin docker-image

我开发了一个docker镜像并将其推送到openshift中的docker注册表中。现在我需要通过传递一些ENV变量来运行docker镜像。如下图所示,当我点击“添加到项目”链接时,列出了我的码头图片“mycustomdaemon:latest”。

My Docker Image Listed in apps

但是,当我点击图片时,它要求我提供构建配置和Git存储库URL,如下图所示:

enter image description here

但是我只需要运行图像,不想重建它或执行任何此类操作。我怎样才能使用它来简单地运行在不执行任何操作操作的情况下创建的自定义泊坞窗图像?

我尝试通过发出oc new-app命令直接从CLI运行映像,但得到以下错误输出。

  

错误:无法查找Docker镜像“172.30.55.11:5000/default/mycustomdaemon:latest”:发生内部错误:获取https://172.30.55.11:5000/v2/:http:server向HTTPS客户端发出HTTP响应   错误:不匹配“172.30.55.11:5000/default/mycustomdaemon:latest”

error when issuing oc new-app command

oc get is命令产生以下输出:

output of oc get is command

1 个答案:

答案 0 :(得分:3)

对我来说,在1.2.0上做了以下工作 首先,我在OpenShift中创建一个项目,我想在其中使用我的图像。

$ oc new-project my-proj

比我在here

中描述的那个项目中创建一个图像流
$ oc project my-proj

创建图像流

$ oc create -f - <<API

apiVersion: v1

kind: ImageStream

metadata:

  annotations:

    description: Keeps track of changes in the application image

  name: myimage

API

name:包含图片的名称 比我标记我的图像。在openshift注册表上进行身份验证并推送图像。

验证

$ docker login -u test -e any@mail.com ....

标记我的图片:

$ docker tag original-image:latest 172.30.x.x/my-proj/myimage:latest

按图像

$ docker push 172.30.x.x/my-proj/myimage:latest

您可以从您的环境内部(仅使用service-ip)或从外部(使用安全注册表的主机名)进行推送。

之后,我可以在openshift项目中创建我的图像的pod /容器:

$ oc project my-proj
$ oc new-app my-proj/myimage:latest