2

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

我的 Docker 镜像在应用程序中列出

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

在此处输入图像描述

但是,我只需要运行映像,不想重建它或执行任何此类操作。我如何能够使用它来简单地运行创建的自定义 docker 映像而不执行任何操作操作?

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

错误:无法查找 Docker 映像“172.30.55.11:5000/default/mycustomdaemon:latest”:发生内部错误:获取https://172.30.55.11:5000/v2/:http:服务器向 HTTPS 客户端提供了 HTTP 响应错误:“172.30.55.11:5000/default/mycustomdaemon:latest”不匹配

发出 oc new-app 命令时出错

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

oc get 的输出是命令

4

1 回答 1

3

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

$ oc new-project my-proj

比我在该项目中创建一个图像流,如此处所述

$ 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
于 2016-11-02T07:40:44.047 回答