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

时间:2017-02-10 16:00:14

标签: 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.
  . . .

将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。

1 个答案:

答案 0 :(得分:4)

因为oc new-app在参数中重载:

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

它有时可能因为算法中的优先顺序而没有选择你所追求的匹配。 --docker-image选项可让您明确说明您的需求,并绕过oc new-app尝试推断您想要的内容。您不需要同时提供这两者,因此通常可以使用其中任何一个:

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

如果图像在Docker Hub Registry上,您应该能够删除docker.io,因为默认情况下会在那里搜索。只有在使用备用注册表时才需要注册表的主机名部分。