基于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。
答案 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
,因为默认情况下会在那里搜索。只有在使用备用注册表时才需要注册表的主机名部分。