【问题标题】:How to use Dockerfile with different name in OCP Git source build如何在 OCP Git 源代码构建中使用不同名称的 Dockerfile
【发布时间】:2020-03-31 11:28:29
【问题描述】:

我正在尝试创建此 Dockerfile 的 Git source 构建:https://github.com/WASdev/ci.docker/blob/master/ga/latest/full/Dockerfile.ubi.ibmjava8

我的 BuildConfig 中有以下配置:

source:
  git: 
    uri: "https://github.com/WASdev/ci.docker"
    ref: "master"
  contextDir: "ga/latest/full" 

但是,上面假设使用Dockerfile 文件名,而我想使用Dockerfile.ubi.ibmjava8,如docker build -f Dockerfile.ubi.ibmjava8 .

如何在 OpenShift 中使用 Dockerfile.ubi.ibmjava8 而不是 Dockerfile?

【问题讨论】:

    标签: openshift


    【解决方案1】:

    TL;DR:是的。您将无法使用名称与 Dockerfile 不同的 Dockerfile

    Build Strategy Options 部分Dockerfile Path 上,您会发现OCP 对Docker 策略的约束:

    默认情况下,Docker 构建使用位于 在指定的上下文的根 BuildConfig.spec.source.contextDir 字段。

    dockerfilePath 字段允许构建使用不同的路径 找到你的 Dockerfile,相对于 BuildConfig.spec.source.contextDir 字段。它可以只是一个不同的 默认 Dockerfile 以外的文件名(例如, MyDockerfile),或子目录中 Dockerfile 的路径(对于 例如,dockerfiles/app1/Dockerfile)。

    他们还使用了一个例子:

    strategy:
      dockerStrategy:
        dockerfilePath: dockerfiles/app1/Dockerfile
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多