如何在OCP Git源代码构建中使用不同名称的Dockerfile

时间:2020-03-26 18:04:54

标签: openshift

我正在尝试创建此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?

1 个答案:

答案 0 :(得分:1)

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

的Dockerfile

Build Strategy OptionsDockerfile Path上,您会发现有关Docker策略的OCP约束:

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

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

他们还使用了一个示例:

strategy:
  dockerStrategy:
    dockerfilePath: dockerfiles/app1/Dockerfile