OpenShift oc new-app IMAGE 与 oc new-app --docker-image

问题描述 投票:0回答:1

基于 Docker 镜像在 OpenShift 上创建新应用程序的语法有点令人困惑:

Usage:
  oc new-app (IMAGE | IMAGESTREAM | TEMPLATE | PATH | URL ...) [options]
. . .
Options:
  . . . 
  --docker-image=[]: Name of a Docker image to include in the app.
  . . .

将 docker 镜像指定为

IMAGE
参数与在
--docker-image
选项中指示镜像有什么区别?

假设我的镜像位于 docker hub (docker.io) 中,并且它是

myid/myrepo:latest
。下面的命令是创建应用程序的正确方法吗?

oc new-app myid/myrepo:latest --docker-image="docker.io/myid/myrepo:latest"

我正在使用 OpenShift v1.3.0。

openshift openshift-origin
1个回答
10
投票

因为

oc new-app
重载了以下参数:

(IMAGE | IMAGESTREAM | TEMPLATE | PATH | URL ...)

有时,由于算法中的优先顺序,它可能不会选择您想要的匹配。

--image
选项允许您明确表达您想要的内容,并绕过
oc new-app
尝试推断您想要的内容。您不需要同时提供两者,因此通常应该可以使用其中一个:

oc new-app myid/myrepo:latest
oc new-app --image myid/myrepo:latest

如果镜像位于 Docker Hub 注册表中,您应该能够删除

docker.io
,默认情况下会在那里搜索。仅当使用备用注册表时才需要注册表的主机名部分。

© www.soinside.com 2019 - 2024. All rights reserved.