【问题标题】:How can I specify Dockerfile build in buildConfig for OpenShift Online?如何在 buildConfig 中为 OpenShift Online 指定 Dockerfile 构建?
【发布时间】:2019-04-22 09:07:35
【问题描述】:

Openshfit 详细信息: 付费专业版。 版本信息:

一直在尝试从 Openshift 中的 Dockerfile 创建构建。 它的艰难。 所以我尝试使用集群控制台中的现有模板。 其中之一是 Docker 之一。当我按“尝试”时,它会生成一个示例 BuildConfig,当我尝试创建它时,它给了我错误: (我现在已经在 Origin 上游问题跟踪器中提出了上述问题) Anyhoo...任何人都知道如何从 git repo 中的 Dockerfile 指定 buildConfig 映像吗?我将不胜感激。

【问题讨论】:

  • 您使用的哪个模板具有带有“Try It”的 Dockerfile 构建选项?

标签: openshift openshift-3


【解决方案1】:

您可以在产品网站上查看 OpenShift Online 允许的构建策略:https://www.openshift.com/products/online。 Dockerfile 构建没有被弃用,它只是在 OpenShift Online 中被明确禁止。您可以在本地构建 Dockerfile 并将其直接推送到 OpenShift 内部注册表(docker login 和 docker push 的命令位于集群的“关于”页面上)。

但是,在其他环境(不是 OpenShift Online)中,您可以按如下方式指定 Dockerfile 构建并提供包含其中 Dockerfile 的 Git Repo(位于 BuildConfig.spec.source.contextDir)

strategy:
  type: Docker

还可以为 Dockerfile 构建配置其他选项,如 https://docs.okd.io/latest/dev_guide/builds/build_strategies.html#docker-strategy-options 中所述。

【讨论】:

  • 这没什么实用的威尔。很抱歉这么说。如果没有这种策略,我知道我在 OC 中的选择。通过不允许它,作为 buildConfig 的一部分,否定了整个部署类别,这些部署类别是容器驱动平台要求的核心。还是谢谢你……如果你想要一个具体的例子……这里有一个:大多数 Docker hub 映像不会在 OC 上开箱即用。例如 ApacheMQ。所以我不得不创建一个兼容的 Dockerfile。现在,我想用它来指定一个 buildConfig,它只能在集群级别发生并且不可用。
  • 使用合规的 Dockerfile,您可以在本地 docker build 它,并在集群中直接 docker push 它。
  • 谢谢。我向 Openshift Origin 提出了这个问题,他们在积压工作上有一张票可以跟踪它……尽管不是在集群级别,而是在项目级别:trello.com/c/6CuBSnFF/…
  • 也回应您关于直接推送图像的答案...... buildConfig、ImageStreams 和挂钩到 repo 的整个想法是,然后我可以为图像指定我的构建策略(s ) 和整个集群,所以我不必手动做任何事情......或者必须编写脚本。同样,this 对我来说是关键点。我可以手动完成,但这不是重点。
  • 最后,我在上面的 trello 票证中发现了这一点,您会看到(我稍后会尝试)可以使用 CLI oc 命令执行此操作...但又一次,我还没试过这个:github.com/openshift/origin-web-console/issues/1399
猜你喜欢
  • 2020-02-08
  • 1970-01-01
  • 2019-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-25
  • 1970-01-01
相关资源
最近更新 更多