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