OpenShift oc新应用IMAGE与oc新应用--docker-image

Pau*_*son 1 openshift openshift-origin

在基于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.
  . . .
Run Code Online (Sandbox Code Playgroud)

指定docker映像作为IMAGE参数与在--docker-image选项中指示映像之间有什么区别?

假设我的映像位于docker hub(docker.io)中,它是myid/myrepo:latest。下面的命令是否是创建应用程序的正确方法?

oc new-app myid/myrepo:latest --docker-image="docker.io/myid/myrepo:latest"
Run Code Online (Sandbox Code Playgroud)

我正在使用OpenShift v1.3.0。

Gra*_*ton 5

因为oc new-app以下参数的重载:

(IMAGE | IMAGESTREAM | TEMPLATE | PATH | URL ...)
Run Code Online (Sandbox Code Playgroud)

有时可能由于算法中的优先顺序而不选择您要匹配的匹配项。该--docker-image选项使您可以清楚地了解所需内容,并绕过oc new-app尝试推断所需内容的尝试。您不需要同时提供两者,因此以下两种方法通常都可以使用:

oc new-app myid/myrepo:latest
oc new-app --docker-image myid/myrepo:latest
Run Code Online (Sandbox Code Playgroud)

如果该映像位于Docker Hub Registry上,docker.io则默认情况下,您应该能够将as 删除。仅在使用备用注册表时才需要注册表的主机名部分。